charset в windows server 2016 не отображает французский char - PullRequest
0 голосов
/ 20 декабря 2018

Я разработал Java-приложение, которое работает под управлением tomcat.на моем сервере разработки (windows 10) мой браузер принимает французские символы.

Однако на рабочем сервере (windows server 2016) браузеры заменяют французские символы на ?.Даже при доступе к производственному веб-приложению с моего сервера разработки все еще существует проблема с кодировкой.

Не могли бы вы посоветовать, в чем может быть проблема?

1 Ответ

0 голосов
/ 20 декабря 2018

Предыстория: для французского достаточно Windows-1252, MS Latin-1.Существует ISO-8859-1, официальная латиница-1, которая не имеет œ (oe) - хотя она имеет æ (ae).Есть дополнительное осложнение, что браузеры будут интерпретировать ISO-8859-1 как Windows-1252, так как HTML5 официально.Но серверу Java все равно нужно будет использовать Windows-1252 для своих писателей.И помните, что недостаток ISO-8859-1 является кодировкой HTTP по умолчанию.Однако, поскольку большинство французских символов доступно в ISO-8859-1, это не должно быть ошибкой.

Поскольку java использует внутренне в String Unicode, переключение на UTF-8 может показаться лучшим, допуская много специальных символов, ипосторонние сценарии.

Ошибка должна как-то происходить из кодировки по умолчанию, которая на французской Windows будет Windows-1252, а на сервере может быть что угодно.Либо файловая система или база данных, либо даже жестко запрограммированные строки, скажем, в JSP кодировка (jsp) компилятора.Если текст начинается с файла, убедитесь, что программа Reader задает кодировку файла.Как вы узнали, кодировки по умолчанию предназначены для непереносимых файлов.Не используйте FileReader / FileWriter, старые служебные классы, где нельзя указать кодировку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...