Проблема: По умолчанию кодировка символов ISO 8859-1 используется для чтения содержимого файла свойств, поэтому, если файл содержит любой символ за пределами ISO 8859-1, то он не будет обрабатываться должным образом.
Первое решение: Процесс свойства файла, чтобы иметь содержание с ISO 8859-1 кодировки символов с помощью native2ascii - Native-to-ASCII Converter
Что native2ascii делает: Он преобразует все 8859-1 не-ISO в их эквиваленте \ uXXXX. Это хороший инструмент, потому что вам не нужно искать эквивалент \ uXXXX специального символа.
Использование для UTF-8: native2ascii -encoding utf8 e:\a.txt e:\b.txt
Если вы используете Eclipse, то вы заметите, что она неявно преобразует специальный символ в \ иххого эквивалента. Попробуйте скопировать
会意 字/會意 字
в свойствах файла, открываемого в Eclipse.
Второго решения: Создание пользовательских ResourceBundle.Control
класса, который может быть использован с ResourceBundle
для чтения свойства в любой заданной схеме кодирования. Вы можете использовать уже созданный и общий CustomResourceBundleControl. Используйте его, как показано ниже:
ResourceBundle messages = ResourceBundle.getBundle("i18n/Messages", new CustomResourceBundleControl("UTF-8"));
Какова кодировка вашего файла пакета? Как вы выводите это сообщение? –
Кодировка UTF-8. Я печатаю его через 'System.out.println (title);' – JohnWinter