刚去新公司不久,碰到一次中文显示问号的问题(前端传值带有中文,再回显前端中文变问号)。
本地环境正常,测试环境中文显示问号。
核查之后发现本地tomcat server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
未配置URIEncoding="UTF-8" 导致中文乱码,在代码中通过
new String(request.getParameter("xxx").getBytes("iso-8859-1"),"utf-8")
测试环境中tomcat server.xml 中配置了
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
代码中又处理了一遍,故导致中文回显显示问号,去掉代码中的
new String(request.getParameter("xxx").getBytes("iso-8859-1"),"utf-8")
正常显示,问题解决。