如何从sqlite中获取错误解码的字符串

时间:2014-06-05 02:29:29

标签: java android sqlite encode

我有文件列表,解码它们并解析一些字符串以保存到sqlite。

问题是其中一个文件是GBK编码,而其他文件是UTF-8。

FileReader以UTF-8读取这些文件,这使得从GBK文件解析的字符串被错误地解码,字符串是一些奇怪的字符,如???。

列表视图中列出了所有这些字符串,如何正确显示?

我尝试了新的String(myString.getBytes(“UTF-8”),“GBK”)和新的String(myString.getBytes(“GBK”),“UTF-8”),但未能获得正确的字符串。

这是我再次使用GBK编码读取文件的唯一方法吗?

1 个答案:

答案 0 :(得分:2)

根据FileReader javadocs

  

此类的构造函数假定默认字符编码和默认字节缓冲区大小是合适的。要自己指定这些值,请在FileInputStream上构造一个InputStreamReader。

所以试试

Reader reader = new InputStreamReader(inputStream,"UTF-8");