从根本上解决Request.QueryString中文乱码问题。
我说的是从根本上解决Request.QueryString中文乱码问题。就是说:Url必须得是:
http://www.abc.com/index.aspx?key=中文
一些“曲线救国”或者迂回的方法,比如说:对先对“中文”编码(escape、Server.UrlEncode)再传值的都不能算从根本上解决此问题,只能算是回避了QueryString中文乱码的问题。因为这样传的参数是“%u4E2D%u6587”或者“%e4%b8%ad%e6%96%87”而不是中文。这个问题是可以解决的,因为直接传中文在我其他的网站里面是不会乱码的,就是说这个情况偶然,或者有些细节的地方我没有注意到。
经测试以下解决方案无效: (注:网站整站是utf-8的,而且也相信utf-8可以兼容中文)
1、Request.ContentEncoding = Encoding.GetEncoding("utf-8");
2、web.config添加配置节点:<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN"/>
呵呵,大家不要说:“管它传的什么,只要最后得到中文部就可以了吗?”。我先的程序要求就必须是:http://www.abc.com/index.aspx?key=中文
这样传值的 呵呵
谢谢大家了