Я знаю, что это распространенная проблема, но я не смог найти существующее сообщение, в котором есть ответ, который решает этот сценарий.
У меня проблема с кодировкой символов в приложении, которое в данный момент находитсяперенесен со старого стоечного сервера на экземпляр AWS EC2.Все, что я до сих пор пробовал, не решило проблему.
У меня есть сборка релиза моего файла war, скажем, app-1.0.war, который развернут на Tomcat 7.0.32 (да, я знаю, что он старыйЭто устаревшее приложение, и на данный момент я хочу, чтобы экземпляр EC2 был как можно ближе к существующему серверу), а JDK - 1.7.0_07.Одна и та же сборка в обеих средах.
Старая ОС - SLES (SUSE Linux Enterprise Server), а в AWS мы используем Ubuntu 16.04.3 LTS.
В обеих средах установлен языковой стандартas en_GB.UTF-8 .
Кроме того, в обеих средах Tomcat server.xml имеет URIEncoding = "UTF-8" в соединителе.
В обеих системах:если я использую file -i в минимизированном файле Javascript, в котором возникла проблема, он обнаружит файл как utf-8:
myjavascript.min.js: text/plain charset=utf-8
и при просмотре содержимого файла в файлеЯ вижу, что в обеих системах есть строка со знаком £ .
Однако, если я использую curl для запроса того же файла через Tomcat, старый хост подает егоправильно, в то время как новое окружение заменяет символ фунта на * , хотя оба имеют тип содержимого application / x-javascript; charset = UTF-8 .
Iпытался добавить -Dfile.encoding = UTF-8 к аргументам, но этого не произошло Помогите.В любом случае, он не использовался в старой среде.