как установить язык UTF8 на Tomcat/java, работающем в Mac OS 10.5.8?

StackOverflow https://stackoverflow.com/questions/1663571

Вопрос

Я запускаю Tomcat6 локально в Mac OS 10.5.8.На наших промежуточных и производственных серверах установлена ​​переменная среды:

LANG=en_US.UTF-8

Этап и производство выполняются на CentOS и считывают это значение при запуске Java и Tomcat.Однако не похоже, что Java читает это значение и по умолчанию имеет значение en_US_ISO_85591.На моем локальном компьютере я добавил LANG=en_US.UTF-8 в файл .bash_profile, поскольку Java и Tomcat работают от имени моего пользователя.

Если это поможет, ситуация, с которой мы столкнулись, заключается в том, что у нас есть серверная служба, которая доставляет данные в формате UTF8 в формате xml на другой контроллер, который преобразует данные в переменную уровня страницы.Во время локального процесса преобразования данные XML преобразуются в формат ISO_85591, а затем обратно в UTF-8, и он прерывается с этой ошибкой:

Invalid byte 1 of 1-byte UTF-8 sequence.

Есть ли другой способ настроить это?

Это было полезно?

Решение

Вы можете установить кодировку файла для tomcat в переменной среды CATALINA_OPTS:

cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top