Как сохранить содержимое файла свойств в удобочитаемой форме, а JSP может правильно читать и загружать его? - PullRequest
0 голосов
/ 28 ноября 2018

Я работаю над приложением I18N, основанным на Struts 1, и я хотел бы задать вопрос, как хранить специальные символы и алфавиты (Mandarin & Polish) в исходном виде в файле свойств иправильно отобразить его на JSP?

Возможное решение

И все же единственное решение, которое я нашел, это установить стиль кодирования на ISO 8859-1 по умолчанию для файла свойств (если содержимое закодировано, но для формата файла свойств задано значение UTF-8, оно также будет работать нормально) и установите charset на UTF-8 в первой строке JSP, которая отображает содержимое.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="ISO 8859-1"%>

Пример содержания мандарина здесь кодировка UTF-8 : - enter image description here

К вашему сведению, хотя все символы Мандарина закодированы, я все равно могу прочитать их значение, наведя указатель мыши на закодированное содержимое.Итак, вы видите, что все символы мандарина в 1-й строке кодируются в формате \u**** для правильного отображения в JSP.Однако, если я сделаю это в качестве 2-й строки, в которой содержимое хранится в исходном виде, символы не могут быть правильно отображены в JSP:

enter image description here

Что я хочу здесь - это хранить содержимое в удобочитаемой форме (оригинальная форма) в файле свойств, в то же время его можно правильно прочитать на JSP.

Повтор

  • По сути, ISO 8859-1 кодирует все символы мандарина, чтобы его можно было правильно отображать с помощью формата кодирования charset UTF-8 JSP.
  • Файл свойств, отформатированный в кодировке UTF-8, может хранить символы мандарина в исходном виде,но не может правильно отобразить его в JSP каким-либо образом.
  • Точно такая же проблема при работе с польским языком (латинский символ kreska не может быть отображен, если не закодирован)

ЧтоЯ пытался

  • Если Мандарин в файле свойств кодируется , прежде чем изменить кодировку с ISO 8859-1 на UTF-8 , но установить кодировку файла на UTF-8 Мандарин вставленне будетпотом кодировать
  • Продолжайте согласовывать кодировку JSP и файла свойств, чтобы найти лучший способ удовлетворить мои требования.Тем не менее, единственный результат, который я получаю, это: мандаринский символ не может быть прочитан JSP, если не закодирован и наоборот;Мандарин должен быть закодирован для правильного чтения JSP, но это будет не-читаемая форма.Оба несовместимы друг с другом.

Итак, что теперь?Есть ли способ сделать его совместимым или это единственный способ, с которым я мог бы работать?

...