2

是否有可能在Android中讀取文本文件並將其內容轉換爲UTF-8,以便正確顯示所有常用的特殊字符?我特別談論一些歐洲人物,如Æ,Ø,Å,Ö和Ä。在Android中讀取任何文本文件並將內容轉換爲UTF-8?

非常感謝。

解決方案: 我最終使用了evilone的建議和一些代碼,用正確的替換錯誤的字符的混合。不完美,但它的工作原理。

+0

嗨米歇爾,我現在的任務相同。你的解決方案是什麼? – Romowski

回答

1

非常穩健例如:

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); 

編輯:

How to auto-detect a file’s encoding

+0

是的,我嘗試了一些文件,但它似乎沒有完全解決。我正在構建一個字幕閱讀器,並且使用它不能正確讀取一些字幕內容。 –

+0

您是否保存UTF-8編碼的.txt文件? – evilone

+0

不,就是這樣。我無法確定使用哪種編碼,但我需要確保能夠按照其顯示方式顯示文件內容。所以我的應用程序需要能夠讀取UTF-8,ANSI等。 –

1

你的問題是字符集的自動檢測。這不是一件微不足道的任務。你應該谷歌現有的解決方案,如jChardet

0

我最終使用了evilone的建議和一些用正確的替換錯誤字符的代碼組合。不完美,但它的工作原理。

相關問題