2017-03-04 63 views
0

enter image description hereCharacters correctly show字符UTF-16LE沒有出現在我的Android牛軋糖

我正在開發一個Android應用程序,我需要顯示在一個TextView特殊UTF-16LE字符,如æ或OE,或者一個圖片中我發佈。

我不明白爲什麼一切都在牛軋糖模擬器上正確顯示,還有棒棒糖和棉花糖智能手機,而在我的個人Android牛軋糖上我看不到這些字符,我只能看到「::」字符而不是正確的。

仔細,在左側的畫面,那是性格不正常的口音,我是不是一個正常的I)

爲什麼我不能顯示在我的智能手機的特殊字符?我應該如何繼續?

我調試了我的應用程序和字符在我的TextView上正確設置;但仍然無法正確讀取它們。

看來我的智能手機(最新軟件更新中的OnePlus3)無法讀取UTF-16LE字符,但仍然,面對類似的事情真的很奇怪。

任何幫助將不勝感激,

有一個愉快的一天。

更新:我下載我的智能手機https://play.google.com/store/apps/details?id=org.madore.android.unicodeMap,似乎我沒有很多的關於我的智能手機的Unicode字符,是有辦法解決這個問題?我只需要安裝一個更好的字體?

回答

0

我解決了我的問題,這就是我所做的。 (像往常一樣,也感謝@Claffolo,我的隊友)

我在Android資產中導入了一個免費的版權字體,比如Gentium。 /資產/字體/

我的項目,我引進了新的字體和init像

 Typeface plain = Typeface.createFromAsset(getActivity().getAssets(), "fonts/GentiumPlus-I.ttf"); 

    final TextView text_view = (TextView)view.findViewById(R.id.text_view); 
    text_view.setTypeface(plain); 
    text_view.setText("[String with special characters]"); 

當我裝我的ArrayList所有的特殊字符的變量,讓我們說我單詞表

我做到了以下列方式:

//Loading my Wordlist 
BufferedReader line_reader = new BufferedReader(new InputStreamReader(activity.getResources().openRawResource(R.raw.ipautf16le), Charset.forName("UTF-16LE"))); 

String line; 
try { 
    while ((line = line_reader.readLine()) != null) { 
     WordList.add(line); 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Collections.sort(WordList); 

這就是全部。

如果答案對你有用,如果你提高了我的答案,那麼我可以在這裏提高我的聲譽,這將是一件好事。

祝您有愉快的一天。

相關問題