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 异常