如果传递参数中含有中文,这是我们经常遇到的问题,只需要在接收端对接收变量进行转码就可以了
以下是我们经常用到的
String cmdType = request.getParameter("CmdType"); try { cmdType = new String(cmdType.getBytes(),"gbk"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } System.out.println("cmdType="+cmdType);
在某些非自己能控制的时候,也有可能会出现这样的情况,我遇到这个问题是因为与另外一个系统做对接的时候,对方将一个音频文件存储到了中文目录下(用户需求,开发中最好还是不要用中文目录)。
当我的程序要去拿到的文件的时候,不得以要通过中文路径去获取,但是无论怎么转码都不可以,后台经过多种实验,都没有解决,最后发现需要更改tomcat服务器的编码才可以
修改tomcat/conf/server.xml,添加红色部分解决问题
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" URIEncoding="UTF-8"
redirectPort="8443" maxPostSize="0" />
原文:http://blog.csdn.net/kingo0/article/details/22063143