2013-12-07 53 views
1

我立陶宛和我創建立陶宛語語言應用程序,但字符串不能包含字母,如:ą, č, ę, ė, į, š, ų, ū, ž...安卓:設置UTF-8編碼爲String和Array

我搜索在互聯網上的簡單的方法,使人們有可能,但我最終有...

有我的一些代碼,我想修改:

if (dayOfWeek.equals("Wednesday")) { 
    dayOfWeek = "Treciadienis"; //this should be Trečiadienis 
} 

而且我有一堆這些信件的陣列。我應該如何處理它?

static JSONArray jArray = new JSONArray(data); 

預先感謝您!

+0

您可以使用i18n,將所有需要的字符串放在xml中。他們是預定義的,還是從網上獲取文本? – Sigrlami

回答

1

一個字符串可以包含字母±。以下代碼dayOfWeek = "Treciadienis";

  1. 您是否檢查過您的文件是否使用UTF-8編碼?對於Eclipse下的文件,執行File => Properties,並在底部看到Text文件的編碼。

  2. 如果你真的不行,我想你在談論一個與ogonek一個,另一個解決方案是引用字符串的字節值,並做:dayOfWeek = "Tre".concat(new String(new byte[]{(byte) 0xC4})).concat("iadienis");(是的,相當極端,但它的工作原理)。

+0

它與第一個合作!謝謝!當我讀第二個時,我很害怕。 –

1

,如果your're使用Windows了Eclipse設置的默認編碼爲cp1252,您必須更改爲UTF-8,因此您可以使用那種角色在你的.java文件硬編碼是很常見。 不要忘記,你也可以使用字符串構造:

String(byte[] data, String charsetName) 
+0

我會牢記這一點。謝謝! –

0

添加託德gahfy的回答是:

而不是添加單個字節,你可以在字符串中使用\uxxxx語法。 Xxxx是字符的Unicode代碼點。這當然比使用UTF-8編碼更麻煩,但比添加字節更少惱人。