浏览器自动转换URL编码产生乱码问题的解决办法

发布时间:2020-09-22编辑:脚本学堂
浏览器自动转换URL编码产生乱码问题的解决办法

如果网址中含有汉字,浏览器会自动将其转换成url编码,而在接收端,它又自动转换回来。
大部分时候都没什么问题,但有时候就很讨厌。因为生成这种URL编码,编码时的字符集和解码字符集不一定相同,比如编码时用GB2312,解码用UTF-8,就出现乱码
这个时候,提取到的参数,自然就乱。
解决办法:不要用Request.QueryString来提取,改用Request.RawUrl获取。后者是原始URL,没有自动解码的。自己获取,自己处理。
 

复制代码 代码如下:
//scode = Request.QueryString["word"];
int p = Request.RawUrl .IndexOf("word=");
string scode = Request.RawUrl.Substring(p + 5);