开发中遇到乱码问题真是一个烦。今天特来总结一下
1.post方式提交数据中文乱码处理
post方式提交的数据乱码问题较容易解决,一般将服务器端的编码改为和前台页面一样就行了。比如页面jsp是utf-8,那么后台就
request.setCharacterEncoding("UTF-8");
2.get方式提交和link链接提交
这两种方式都是直接把参数拼在url后面传到服务器的,他们走URI
解决方法:
(1)修改tomcat配置文件server.xml,在Connector中修改URIEncoding属性,该属性默认是“ISO8859-1”
1 <Connector port="8080" protocol="HTTP/1.1" 2 connectionTimeout="20000" 3 redirectPort="8443" URIEncoding='utf-8'/>
(2)不改tomcat配置,将传回来的参数重新转换编码
String data = request.getParameter("paramName");
byte[] source = data.getBytes("ISO8859-1");
data = new String(source, "UTF-8");
这样得到的data就不是乱码了。当然,如果tomcat中URIEncoding修改成了别的编码,也要把ISO8859-1换成对应的编码