如果服务器是tomcat
前台传后台:url?par=测试, 则par到后台取到的值为乱码
一般的处理方法:
String str= reqDTO.getValue("par");
str= new String(sendValue.getBytes("ISO-8859-1"),"GBK");此时str='测试'
也可以修改服务器的配置文件/conf/server.xml中
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
为
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
这时候直接String str= reqDTO.getValue("par");
str='测试'
推荐使用第二种方法,因为如果换了使用WebSphere,是不需要解码的,程序可移植性不好
本文介绍了解决Tomcat服务器接收中文参数时出现乱码的方法。一种是在Java代码中进行字符集转换处理,另一种是通过修改Tomcat配置文件server.xml来指定URI编码方式。
1224

被折叠的 条评论
为什么被折叠?



