浏览器自动转换URL编码产生乱码问题
2024-10-19 16:46:14
如果网址中含有汉字,浏览器会自动将其转换成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);
另,在浏览器的地址栏进行get传参时,浏览器会自动进行一次UrlDecode()的解码,然后才会传给程序使用,也就是会先解码一次,所以如果传输中文的参数时,应该进行2次UrlEncode()编码给浏览器,程序再用一次UrlDecode解码即可,亲身试验过,确实如此。
最新文章
- 从史上八大MySQL事故中学到的经验
- float-position的一些细节
- BestCoder Round 69 Div 2 1001&;&; 1002 || HDU 5610 &;&; 5611
- C#数据结构选择
- ClassCastException 导致程序一运行就强制退出
- project和task
- Linux用户组与用户组基本命令
- 【Mood-7】tell 2 my gf-miss u not sudden but always
- Webview Android与js交互
- 通过 ContentResolver 读取联系人信息
- react项目和next项目修改默认端口号
- System类学习笔记
- hdu1576(扩展欧几里得)
- IIS 6的日志time-taken字段没有值的解决方案
- 解决ios10以上点击缩放的问题
- php获取字符串长度函数strlen和mb_strlen
- favi.icon是什么?
- ArraySizeHelper解析
- RabittMQ实践(一): RabbitMQ的安装、启动
- IOS8添加启动图
热门文章
- MySQL存储引擎--MYSIAM和INNODB引擎区别
- 最长公共子序列(POJ1458)
- Tomcat服务器版本号泄露-低危漏洞修复
- net.sf.json.JSONException: &;#39;object&;#39; is an array. Use JSONArray instead
- ibatis和myBatis打印sql语句的log4j配置文件
- CocoaAsyncSocket UDP发送数据超过包大小限制(Message too long)
- Eclipse导入项目时出错提示 project is missing required library
- 【LeetCode】208. Implement Trie (Prefix Tree)
- Java 时间相比较
- React(0.13) hello world