2012-05-30 4 views
2

Я использую GWT. Я реализовал интернационализацию для поддержки испанского языка. но испанские символы не отображаются должным образом. Пример: Teléfono Buscar отображается как. enter image description here (см. Некоторый барахло после Tel). Я использую браузер IE.Символы испанского языка отображаются неправильно?

Нужно ли настраивать какие-либо дополнительные настройки? Благодаря!

+0

Убедитесь, что данные кодируются 'UTF-8' всюду до тех пор, пока они не будут отображаться в браузере. – adarshr

+0

@adarshr, Спасибо за ваш ответ. Я уже разместил строку ниже на моей главной странице. user1016403

+0

Откуда взялась строка? Как вы читаете и т. Д.? – adarshr

ответ

2

Я подозреваю, что это может быть связано с тем, что ваш редактор не использует кодировку UTF-8.

Если вы используете Eclipse, вы можете настроить его на использование UTF-8 для *.properties, перейдя на страницу Window > Preferences > General > Content Types.

Просто убедитесь, что вы изменили значение Default encoding на UTF-8, как показано ниже.

enter image description here

Там будет аналогичный параметр для любого текстового редактора, в том числе vi.

+0

Я пробовал. все-таки у меня такая же проблема. – user1016403

+0

@ user1016403 Что случилось? Это работало сейчас? – adarshr

+0

@Adarshar, Спасибо, сейчас работает. – user1016403

1

Поскольку ваши строки исходят из файла свойств, ваш ResourceBundle, вероятно, является экземпляром PropertyResourceBundle, который создает пустой экземпляр java.util.Properties, а затем заполняет экземпляр, загружая файл свойств с помощью одной из «загрузки» "методы. PropertyResourceBundle имеет два конструктора, один из которых принимает InputStream и тот, который берет Reader. Конструкторы просто называют соответствующий «load» метод.

Обратите внимание, что метод «загрузки», который принимает InputStream, предполагает, что символьная кодировка файла свойств имеет ISO 8859-1 (Latin1). Вы можете решить эту проблему двумя способами:

  1. Убедитесь, что вызывается конструктор свойств PropertyResourceBundle, тот, который берет Reader. Постройте читателя, используя соответствующую кодировку символов.
  2. Используйте Unicode escapes (\ uxxxx) для кодирования не-ASCII-символов в файле свойств.
+0

Спасибо за ваш ответ. Чтение значений из файла свойств просто для нас, мы не используем свойство propertyresourcebundle. gwt сам создает интерфейсы для каждого файла свойств. мы просто вызываем интерфейс и получаем доступ к значениям из файла свойств. – user1016403

+0

Если у вас нет контроля над тем, как создается ресурсный пакет, простым решением является использование экранов Unicode в файле свойств. –

+0

Unicode escapes делают файлы нечитаемыми людьми, если поддерживаются только языки, такие как английский и другие латинские языки, такие как es, fr, de и т. Д. Предпочтения unicode экранируются только для китайского, корейского, арабского и т. Д. – adarshr

Смежные вопросы