Как я могу изменить кодировку по умолчанию для сервера / контейнера tomcat?

У меня проблемы с кодировкой символов моего веб-приложения, и я хотел бы узнать, как я могу изменить кодировку tomcat по умолчанию на производственном сервере Linux, чтобы она соответствовала кодировке cp 1252 сервера dev в Windows (или, по крайней мере, экспериментально) с другой кодировкой, пока не найду правильную).

Спасибо

2 ответа

Решение

Добавьте это в ваш скрипт catalina.sh:

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

Также в conf/server.xml вы хотите внести это изменение, чтобы кодировка URI была установлена ​​соответственно:

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

Если вы используете фильтры сервлетов, вы можете добавить вызов response.setCharacterEncoding("Cp1252"); на все ответы. Если ответ содержит символы, то будет использоваться выбранная вами кодировка.

response.setCharacterEncoding ("CP1252");

Пожалуйста, смотрите https://tomcat.apache.org/tomcat-8.5-doc/servletapi/javax/servlet/ServletResponse.html

Другие вопросы по тегам