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的建议和一些用正确的替换错误字符的代码组合。不完美,但它的工作原理。

相关问题