在页面和后台都设置的是UTF-8。始终乱码。于是在控制层用了以下转码,得到正确的中文。
String nick = new String(request.getParameter("userDto_nick").getBytes("iso-8859-1"),"UTF-8");
但是这不是我想要的。 于是找了下原因,主要是服务器默认编码的问题(tomcat默认编码方式为iso-8859-1),无论视图或控制层怎么设置。始终乱码。
所以,归根结底是要设置服务器的编码方式。这个各个服务器的编码设置方式不同。
Tomcat的: 在Server.xml设置 URIEncoding="UTF-8"
<Connector port="8080" useBodyEncodingForURI="true" URIEncoding="UTF-8" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
其他配置方式,我觉得可以在项目的配置文件中修改什么的。目前没去研究,有空再来补充。。
参考网址0: http://blog.csdn.net/getchance/article/details/7630399