我如何更改tomcat服务器/容器的默认编码?

我遇到了我的web应用程序的字符编码问题,并想知道如何在Linux生产服务器上更改tomcat的默认编码以匹配Windows上的开发服务器的cp 1252编码(或者至less是实验用不同的编码,直到我能find正确的一个)。

谢谢

将此添加到您的catalina.sh脚本中:

set JAVA_OPTS=-Djavax.servlet.request.encoding=Cp1252 -Dfile.encoding=Cp1252 

同样在conf / server.xml中,你想做这个改变,所以URI编码是相应地设置的:

 <Connector port="8080" URIEncoding="Cp1252"/> 

如果使用servletfilter,则可以添加对response.setCharacterEncoding(“Cp1252”)的调用; 所有的回应。 如果响应包含字符,则将使用您select的编码。

response.setCharacterEncoding( “的Cp1252”);

请参阅https://tomcat.apache.org/tomcat-8.5-doc/servletapi/javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String&#xFF09;