日期:2014-05-20  浏览次数:20886 次

地址栏参数值为汉字时的极奇怪问题请教
QueryNew.aspx?Name=大好人
Request.Url结果却是
QueryNew.aspx?Name==□□□□
页面源文件中:
QueryNew.aspx?Name=%ufffd%ufffd%ufffd%ufffd%ufffd"
导致汉字参数无法正确获得

而在页面点击右键,弹出属性页上地址是正确的QueryNew.aspx?Name=大好人



-----------------------
请求高人指点

------解决方案--------------------
用 HttpUtility.UrlEncode 编码后再拼 QueryString
------解决方案--------------------
用HttpUtility.UrlEncode 编码参数后再传递过去,在获取的那边再用HttpUtility.UrlDecode解码出来

------解决方案--------------------
QueryNew.aspx?Name=大好人-->QueryNew.aspx?Name=HttpUtility.UrlEncode("大好人");
获取时HttpUtility.UrlDecode解码
------解决方案--------------------

在传汉字的时候要进行转编码和解码就不会出现这样的问题了

编码、解码:HttpUtility.UrlEncode(str) 、HttpUtility.UrlDecode(str)
------解决方案--------------------
“%ufffd%ufffd%ufffd%ufffd%ufffd”这个很明显是ASCII编码...ASCII编码不支持Unicode码,丢失数据是很正常的...

用UrlEncode编码...另外最好把网站输出编码改为UTF-8...
------解决方案--------------------
编码传值,解码获取值