http://localhost:8080/web/?USERID=221122&MOBILE_NO=1500166624,1342655556&SMS_CONTENT=233222中文
 <add key="smscanshu" value="SMS_CONTENT"/> 
 string canshu4 = System.Configuration.ConfigurationManager.AppSettings["smscanshu"].ToString();
1.我通过读取app.config的参数明明传入的是233222中文 ,但是通过string c HttpListenerContext.Request.QueryString[canshu4];
既然是233222脰脨脦脛2.在sql执行insert into SMS_MT([GUID],[USERID],NEED_DOWN_TIME,FACT_DOWN_TIME,MOBILE_NO,SMS_CLENGTH,SMS_CONTENT) values(newid(),'a333',getdate(),dateadd(second,2,getdate()),'1500166624','10','233222脰脨脦脛')可以
但是程序里就进catch说列名USERID无效 
 SqlCommand comm = new SqlCommand(string.Format("insert into SMS_MT([GUID],[USERID],NEED_DOWN_TIME,FACT_DOWN_TIME,MOBILE_NO,SMS_CLENGTH,SMS_CONTENT) values(newid(),'"+cc+"',getdate(),dateadd(second,2,getdate()),'" + q1 + "','" + LCONTENT + "','" + SMS_CONTENT + "')"), conn);
                                conn.Open();
                                comm.ExecuteNonQuery();
                                conn.Close();乱码

解决方案 »

  1.   

    第一个问题,看看你的编码格式
    第二个问题,调试取到你的sql语句放到数据库执行或提出来看看
      

  2.   

    第一问题 我用string tx=hlc.Request.QueryString[canshu4].ToString();接收过来的时候就是乱码! 怎么控制他才是中文呢
      

  3.   

    我在程序中使用了3种都是得不到我传入的字符233222中文
     string aa = HttpUtility.UrlEncode(c, Encoding.Unicode);
                            string bb = HttpUtility.UrlEncode(c, Encoding.UTF8);
                            string aaaa = HttpUtility.UrlEncode(c, Encoding.GetEncoding("GB2312"));
     
                            string dd = HttpUtility.UrlDecode(c, Encoding.Unicode);
                            string ee = HttpUtility.UrlDecode(c, Encoding.UTF8);
                            string ff = HttpUtility.UrlDecode(c, Encoding.GetEncoding("GB2312"));
      

  4.   

    确切的好像是问 HttpListner对象 通过http传入的值 中文 是乱码  怎么解决
      

  5.   

            public static Dictionary<string, string> EncodeQueryString(this Uri uri)
            {
                var ret = new Dictionary<string, string>();
                var q = uri.Query;
                if (q.Length > 0)
                {
                    foreach (var p in q.Substring(1).Split('&'))
                    {
                        var s = p.Split(new char[] { '=' }, 2);
                        ret.Add(HttpUtility.UrlDecode(s[0]), HttpUtility.UrlDecode(s[1]));
                    }
                }
                return ret;
            }
      

  6.   

    http://bbs.csdn.net/topics/390528988
    这个帖子我重新发了一遍  请帮忙解决一下  急用