как установить язык UTF8 на Tomcat/java, работающем в Mac OS 10.5.8?
-
12-09-2019 - |
Вопрос
Я запускаю 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