url参数中带有中文时出现字符乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了url参数中带有中文时出现字符乱码相关的知识,希望对你有一定的参考价值。

url中不支持中文传输,在传输之前需要URI编码,在客户端编码后,传输到服务端,需要进行解码,编码和解码的格式需要统一。

浏览器和服务器一般都有默认的编码方式,在传递中文时自动编码和解码。

 

例如,浏览器的默认编码方式是UTF-8,服务器端的默认编码方式是GB2312,当参数传到服务端时,出现乱码。

在web开发时需要统一编码方式,避免出现中文乱码问题。

 

客户端可通过js编码,js编码格式只能是utf-8,服务器端可设置默认解码格式。  对于当服务端使用tomcat容器时,需要在Server.xml中添加 URIEncoding="UTF-8”

/apache-tomcat-7.0.61/conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />

 

参考文章:

前端工程师的编码遭遇战   http://ued.taobao.org/blog/2011/08/encode-war/  

以上是关于url参数中带有中文时出现字符乱码的主要内容,如果未能解决你的问题,请参考以下文章

在 URL 查询参数中使用某些字符时出现 Java 9 HttpClient 异常

AJAX的url中文参数问题

URL传中文参数导致乱码的解决方案之encodeURI

Java中做网络抓取demo用的Jsoup进行url解析如果链接中带中文就会出现乱码

get请求中url传参中文乱码问题

http、https请求URL中带有&等特殊字符的解决方法