日期:2014-05-18  浏览次数:20391 次

关于URL解码的郁闷问题
代码如:
C# code
 string s = Request["a"];
            if (s == null)
                s = string.Empty;
            Response.Write("%E7%BA%A7");
            Response.Write(HttpUtility.UrlDecode("%E7%BA%A7")); // 输出 “级”字,正确

            TextBox1.Text = HttpUtility.UrlDecode(s); // 显示的是“绾?”(链接URL是打开 webform1.aspx?a=%E7%BA%A7,这里的中文编码与上面的一模一样呀!!!),这到底是哪里出问题了?!



------解决方案--------------------
C# code

            string s = Request["a"]; 
            if (s == null) s = string.Empty;
            s = "webform1.aspx?a=%E7%BA%A7";
            Response.Write("%E7%BA%A7"); 
            Response.Write(HttpUtility.UrlDecode("%E7%BA%A7")); 
            TextBox1.Text = HttpUtility.UrlDecode(s);

------解决方案--------------------
page页面的编码是什么? 试试gb2312
------解决方案--------------------
刚试了一下,在我的系统中是正确的
------解决方案--------------------
似乎没问题查一下链接过来的对不。。
------解决方案--------------------
<system.web>
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
</system.web>