Отображение символов Unicode в TextView Android

В этой теме есть несколько сообщений по всему Интернету, однако ни один из них не смог изолировать и решить проблему.

Я пытаюсь показать некоторые специальные кодированные символы UTF-8, хранящиеся в базе данных SQLite, используя TextView, однако все, что он показывает, это поля. Я понимаю, что это означает, что правильный шрифт не установлен. Но когда я печатаю эти символы, используя шрифт Arial на Mac, он работает.

Я пытаюсь использовать шрифт Arial на устройстве и эмуляторе.

Любой совет.

Solutions Collecting From Web of "Отображение символов Unicode в TextView Android"

Он работает на вашем Mac, потому что шрифт, используемый вашим mac, содержит эти специальные символы. Было бы невозможно создать файл шрифта, содержащий все символы, определенные в unicode. Китайские шрифты являются хорошим примером: ни один из них не содержит всех 60 000 известных китайских символов, потому что файл шрифтов будет огромным и непригодным для использования.

Вы можете попробовать использовать шрифт с вашего Mac на Android (могут быть проблемы с авторскими правами – попробуйте найти бесплатный шрифт, содержащий символы: упакуйте файл (ttf) в вашем приложении, например, в папку / assets, а затем в приложении Загрузите этот шрифт

TypeFace typeFace = Typeface.createFromAsset (propertymanager, "fontfile.ttf");

Затем вы можете использовать это в TextView следующим образом:

TextView view = (TextView) findById (R.id.mytext);

view.setTypeFace (Typeface);

Если я правильно понимаю вашу ситуацию, вы можете рассмотреть метод StringEscapeUtils.unescapeXml (). Он находится в файле common-lang.jar, доступном здесь: http://commons.apache.org/lang/

Он примет закодированные символы (например, «для апострофа») и доведёт вас до нужного персонажа.