Tomcat

如何更改 tomcat 伺服器/容器的預設編碼?

  • October 4, 2016

我的 webapp 的字元編碼有問題,想知道如何更改 Linux 生產伺服器上 tomcat 的預設編碼以匹配 windows 上開發伺服器的 cp 1252 編碼(或至少實驗使用不同的編碼,直到我找到正確的編碼)。

謝謝

將此添加到您的 catalina.sh 腳本中:

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

同樣在 conf/server.xml 您想要進行此更改,以便相應地設置 URI 編碼:

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

如果您使用 servlet 過濾器,您可以添加對 response.setCharacterEncoding(“Cp1252”); 的呼叫。對所有回复。如果響應包含字元,則將使用您選擇的編碼。

response.setCharacterEncoding(“Cp1252”);

請參閱https://tomcat.apache.org/tomcat-8.5-doc/servletapi/javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)

引用自:https://serverfault.com/questions/236391