2016-09-30 14 views
0

Я использую Deltaspike Core для извлечения и отображения сообщений на разных языках. Я использую стандартную реализацию MessageContext, но с помощью специального MessageResolver. Он работал нормально, пока я не попытался использовать файл свойств, кодифицированный как UTF-8.Ошибка кодирования Deltaspike i18n

THe UTF-8 файл locale_source.properties с сообщением:

messageKey=Localización no disponible.

И мой код выглядит следующим образом:

public class MessageBuilder { 

    @Inject 
    private MessageContext messageContext; 

    @PostConstruct 
    public void init() { 
     messageContext.messageSource(LOCALE_SOURCE); 
    } 

    @Override 
    public Message create(String key) { 
     Message m = messageContext 
       .clone() 
       .localeResolver(new MyOwnLocaleResolver()) 
       .message() 
       .template("{" + key + "}"); 
    ... 

System.out.println(messageBuilder.create(messageKey).toString()); 

Он извлекает сообщение, но с ошибкой кодификация:

Localización no disponible.

Как вы видите, это изменение - для ³. Есть ли что-то, что указано для кодификации файла свойств? Что еще я могу сделать, чтобы решить эту проблему?

Спасибо.

ответ

0

Я видел это, что ответ на мой вопрос: How to use UTF-8 in resource properties with ResourceBundle

Таким образом, решение в основном сохранить файлы свойств в Latin1 и использовать Юникод коды \ ихххх представлять те символы, которые не охватываются этой кодировке.

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

  • Нет связанных вопросов^_^