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

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

我的 web 应用程序的字符编码出现了问题,我想知道如何更改 Linux 生产服务器上 tomcat 的默认编码,以匹配 Windows 上开发服务器的 cp 1252 编码(或者至少尝试不同的编码,直到找到正确的编码)。

谢谢

答案1

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

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

您还需要在 conf/server.xml 中进行以下更改,以便相应地设置 URI 编码:

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

答案2

如果您使用 servlet 过滤器,则可以向所有响应添加对 response.setCharacterEncoding("Cp1252"); 的调用。如果响应包含字符,则将使用您选择的编码。

响应.设置字符编码(“Cp1252”);

请参见https://tomcat.apache.org/tomcat-8.5-doc/servletapi/javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)

相关内容