web-dev-qa-db-ja.com

Tomcatサーバー/コンテナーのデフォルトのエンコードを変更するにはどうすればよいですか?

私のwebappの文字エンコーディングに問題があり、LinuxプロダクションサーバーのTomcatのデフォルトエンコーディングを変更して、Windowsの開発サーバーのcp 1252エンコーディングに一致させる方法(または少なくとも実験)を知りたい正しいエンコーディングが見つかるまで、別のエンコーディングを使用します)。

ありがとう

3
Dark Star1

これをcatalina.shスクリプトに追加します。

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

また、conf/server.xmlでこの変更を行い、それに応じてURIエンコーディングを設定します。

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

サーブレットフィルターを使用する場合、response.setCharacterEncoding( "Cp1252");への呼び出しを追加できます。すべての応答に。応答に文字が含まれている場合は、選択したエンコーディングが使用されます。

response.setCharacterEncoding( "Cp1252");

参照してください https://Tomcat.Apache.org/Tomcat-8.5-doc/servletapi/javax/servlet/ServletResponse.html#setCharacterEncoding(Java.lang.String)

2
robk