Как установить UTF8 lang на Tomcat / Java, работающий на Mac OS 10.5.8? - PullRequest
1 голос
/ 02 ноября 2009

Я использую 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 работают как мой пользователь.

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

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

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

1 Ответ

3 голосов
/ 03 ноября 2009

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

cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh
...