变化
在CentOS7上重新部署测试环境,发现后台管理界面搜索输入框无法搜索中文,输入的中文提交后显示为乱码
根本原因
CentOS7上官方Yum Repository安装的tomcat的配置文件中URIEncoding的默认值为ASCII(没有去确认)。浏览器发送到tomcat服务的中文URI没有能够正确编码,导致数据库无法进行正确的查找。同样,tomcat返回给客户段的回应同样用不正确的编码去编码中文字符,导致输入框显示乱码。
解决方法
修改tomcat的server.xml配置文件,在Connector后面加入URIEncoding="UTF-8"
后重新启动tomcat解决问题
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>