2012-10-20 92 views
0

我必須在Android的EditText區域顯示文本。如何修復元音重音問題

一切工作正常,但如果文本使用的是有口音的元音字符,

例如:

"è", "ì", "à", "ò" "ù"

代碼顯示,不正確的字符。

我簡單地使用

String text= myEditText.getText().toString(); 

得到的字符串,我的字符串存儲在一個文件,並使用

myEditText.setText(text); 

以設置的EditText區域字符串文本時,我檢索數據第二時刻。

+0

你的代碼是什麼樣的? –

+0

我已經更新了這個問題。 – AndreaF

+0

好的以爲你可能會做別的事情。 –

回答

1

我認爲問題在於將數據保存到文件。如果您的文件在保存數據時沒有使用utf8字符集,則無需這些字符就可以讀取它。因此確保你正確的儲存:

String filePath = "/sdcard/utf8_file.txt"; 
String UTF8 = "utf8"; 
int BUFFER_SIZE = 8192; 

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), UTF8),BUFFER_SIZE); 
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), UTF8),BUFFER_SIZE); 

當你讀回,那麼你應該能夠因爲你現在做你的myEditText使用的setText()。

+0

是的問題是在保存期間。然而字符串嵌套在一個自定義的對象,我不知道如何完全解決問題 http://stackoverflow.com/questions/12990041/fileoutputstream-cause-string-char-issue – AndreaF

+1

我想你不會能夠使用utf-8編碼將Java自定義對象序列化爲字符串。更好的想法是將你的對象作爲一個blob存儲在數據庫中。 –