当前位置: 代码迷 >> .NET分析设计 >> 地址栏参数值为汉字时的极奇怪有关问题请问
  详细解决方案

地址栏参数值为汉字时的极奇怪有关问题请问

热度:3831   发布时间:2013-02-25 00:00:00.0
地址栏参数值为汉字时的极奇怪问题请教
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...
------解决方案--------------------------------------------------------
编码传值,解码获取值
  相关解决方案