转!!关于http请求 浏览器 中文编码

不同浏览器对HTTP请求的编码行为存在差异,由于目前主流用谷歌浏览器,这边以谷歌浏览器分析:

 

1.http请求,Google Chrome浏览器会对请求的URL中非ASCII码字符进行编码。这里不是指对整个URL进行编码,而是仅仅对非ASCII码字符部分进行编码。("UTF-8"编码,转16进制)

2.后台服务器如果没有设置URIEncoding="UTF-8", Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,这样的话中文字符肯定就不能被正确解析了。

 

System.out.println(new String(Hex.encodeHex("哈哈".getBytes("utf-8"))));//e59388e59388
System.out.println(URLEncoder.encode("哈哈","utf-8"));//%E5%93%88%E5%93%88

转自 https://www.cnblogs.com/xurongjian/p/9278221.html

posted @ 2021-01-14 16:54  乌云de博客  阅读(1007)  评论(0编辑  收藏  举报