2015-11-17 2 views
6

У меня есть текстовое представление в приложении для Android, текст этого текстового представления заполняется из запроса API, ответ этого API - это только текст, но этот текст может иметь специальные символы, такие как апостроф или любой другой специальный символ.Редактирование специальных символов в текстовом виде Android

Проблема заключается в том, что, когда ответ имеет специальные символы вид текста отображает только специальный символ, и что после того, как он, примеры:

Когда ответ Capt. Tony's на просмотр текста отображается только 's.

Когда ответ Golf Club вид текста работает нормально и отображает Golf Club

Когда ответ Café 28 вид текста отображает только é 28

И я знаю, что ответ является правильным, потому что я испытал это слишком много раз.

КОДЕКС ТЕКСТА ЗРЕНИЯ:

XML

<TextView 
      android:id="@+id/item_name" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hello world" 
      android:textColor="#ffffff" 
      android:textSize="18sp" 
      android:layout_marginLeft="10dp"/> 

JAVA

TextView item_name = (TextView) rowView.findViewById(R.id.item_name); 
    item_name.setText(item.getTitle()); 

Любая помощь будет оценена.

+0

@Neo как может этот вопрос мне пользу? – EyadMhanna

+0

Убедитесь, что вы также получаете кодировку из API при получении текста и его использовании. Для HTTP, в основном в заголовке ответа Content-Type. Вы также должны запросить правильное кодирование, используя правильные заголовки 'Accept-Type' или' Accept-Charset'. Например. 'Accept-Type: text/plain; charset = UTF-8' –

+0

От ссылки Neo: Шрифт не поддерживает этот символ. Поскольку андроид выбирает шрифт как-то автоматически, он выбирает тот, который имеет один вид глифов, но не имеет других. Итак, вам нужно использовать шрифт, который поддерживает их обоих. –

ответ

2

Попробуйте

TextView item_name = (TextView) rowView.findViewById(R.id.item_name); 
item_name.setText(Html.fromHtml(item.getTitle()));