首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

HttpListener对象经过http传入参数读取app.xonfig列名无效和中文乱码

2013-08-01 
HttpListener对象通过http传入参数读取app.xonfig列名无效和中文乱码http://localhost:8080/web/?USERID2

HttpListener对象通过http传入参数读取app.xonfig列名无效和中文乱码
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(); 乱码
[解决办法]
第一个问题,看看你的编码格式
第二个问题,调试取到你的sql语句放到数据库执行或提出来看看
[解决办法]

        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;
        }

热点排行