2017-01-27 5 views
0

Я удаляю сервер и получаю некоторые данные в строковом формате., показывающий специальный символ в String в android

В этих данных есть некоторые специальные символы, такие как -. но когда я устанавливаю эту строку в текстовом виде, этот специальный символ преобразуется в? ,

Так как я могу избежать этой проблемы? пожалуйста помоги.

первой попытки:

String t = "<![CDATA["+title+"]]>"; 
     mTitle.setText(Html.fromHtml(text)); 

вторая попытка:

String base64 = Base64.encodeToString(getTitle().getBytes(), Base64.DEFAULT); 
     byte[] data = Base64.decode(base64, Base64.DEFAULT); 
     String text = new String(data, StandardCharsets.UTF_8); 
     mTitle.setText(text); 
+0

Имеются ли данные, возвращаемые с сервера, с символами в формате HTML? – degs

+0

Преобразовать строку в BASE 64, а затем установить – AmeeJoshi

+0

@degs Нет данных не содержит HTML-кодированный символ. данные похожи на nitin's. –

ответ

0

Попробуйте это:

tv.setText(news_item.getTitle().replaceAll("\u2019", "&#39;"));

См этот link для кодирования Юникода.