前段时间做公司的项目,遇到一个问题,有个页面在前台操作后数据存到数据库怎么都是乱码。项目是标准的spring mvc web项目,用的数据库操作方法都是公司写好的公用方法,其他页面都没问题,唯独那一个页面有问题,也是奇怪了。先后检查了HTML页面编码,数据库编码都没有问题,但是问题就是没有解决,最后才在同事的建议下才尝试着改了tomcat的编码:
在tomcat的conf目录下找到server.xml文件,找到:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />,这段代码是tomcat监听HTTP请求的端口号等信息,在其中添加监听内容的URIEncoding属性,修改完成后:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
虽然想不明白为什么(如果是tomcat编码导致的中文乱码问题,那为什么其他页面调用同样的方法存到数据库就不乱,唯独那一个页面乱,它们的容器是一样的呀),但是问题总算解决了,以此记录,免得下次再遇到又抓瞎。。。