Обновление Tomcat с 8.0.x до 9.0.17 повреждает файл js даже после настройки кодировки UTF-8 - PullRequest
0 голосов
/ 09 апреля 2019

Мое приложение работает нормально в 8.0.x, когда я обновляю tomcat до 9.0.17, HTTP-ответ искажается только в Chrome и Firefox, он отлично работает в IE.

Я прошел черезниже проблема, которая похожа на мою проблему - http://tomcat.10.x6.nabble.com/Tomcat-8-5-19-corrupts-static-text-files-encoded-with-UTF-8-td5065877.html и дефект tomcat - https://bz.apache.org/bugzilla/show_bug.cgi?id=49464

Похоже, способ кодирования tomcat изменился в 8.5, и была введена ошибка, которая повреждала статические файлы.Ошибка 49464 упоминает, что эта проблема исправлена ​​в 9.0.x.Я на 9.0.17 и предполагаю, что эта проблема исправлена.

У меня французская локаль json, которая становится поврежденной, в ответе HTTP отображается min файл с поврежденными символами.Этот языковой стандарт json минимизируется вместе с моим файлом js.

В Server.xml я установил URIEncoding на UTF-8, я также установил для useBodyEncodingForURI значение true.

В web.xmlЯ установил кодировку MIME-типа в UTF-8 для html, js, css, gzip и т. Д. Я также установил кодировку фильтра (org.springframework.web.filter.CharacterEncodingFilter) в UTF-8 в файле web.xml.

В моем html я установил следующее -

<script src="myjavascript-2.min.js" charset="utf-8" type="text/javascript"></script>
<script src="myjavascript-1.min.js" charset="utf-8" type="text/javascript"></script>

Я также установил JAVA_OPTS = "$ JAVA_OPTS -Dfile.encoding = UTF-8" в tomcat.conf

Когда я открываю минимизированный файл js в системе linux, в которой работает tomcat, я правильно вижу символы.

Я что-то пропустил?Или это ошибка кота?

...