servlet从网址传入参数中文乱码

方式一(不改代码,改tomcat):

修改tomcat连接器的默认编码,将“iso8859-1”改为”UTF-8“

具体操作是,将 URIEncoding="UTF-8" useBodyEncodingForURI="true" 添加到tomcat的conf目录下。

server.xml中的Connector标签(所有在用的Connector标签都加)中,添加后即是:

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

方式二(不改tomcat,改代码):

前台编码:在js中用encodeURI函数进行一次编码,即encodeURI(参数)

后台解码:参数=new String(参数.getBytes("iso8859-1"),"UTF-8");

方式三(不改tomcat,改代码):

前台编码:在js中用encodeURI函数进行两次编码,即encodeURI(encodeURI(参数))

后台解码:参数=URLDecoder.decode(参数,"UTF-8");

亲测有效

直接在后台解码:参数=URLDecoder.decode(参数,"UTF-8");

参数即中文参数

最后更新于

这有帮助吗?