当从java中的csv文件读取时,斯洛伐克字符变得混乱

时间:2012-06-21 13:49:33

标签: java unicode inputstream

我试图通过包含一些斯洛伐克字符的Inp​​utStream读取逗号分隔文件,所以我在InputStream参数中传递正确的字符编码。 但是人物仍然搞砸了。

InputStreamReader stream = new InputStreamReader(inputStreamToExcel,"ISO-8859-2");

例如dd890èš成为dd890č 最后两个斯洛伐克人物搞砸了。

请帮忙。

3 个答案:

答案 0 :(得分:2)

这是因为你的编码。 您正在使用“ISO-8859-2”编码创建InputStreamReader。

尝试使用“UTF-8”。还要检查文件的编码是什么。

答案 1 :(得分:0)

您可以使用Notepad ++(编码 - >字符集)或其他编辑器来确定文件的编码。您的代码没有任何问题。你只需要找到正确的编码。

答案 2 :(得分:0)

org.apache.commons.lang.StringEscapeUtils escapeHtml(value)解决了这个问题。通过escapeHTML,我能够看到确切的html实体代码,它可以帮助我分析应用程序读取的正确字符。但是当它被分配给String时,它会以某种方式转换为错误的格式。但是当unescapedHtml字符串被传递给视图时,浏览器会正确显示它,因为浏览器正确理解HTML实体代码。

参考文献:http://www.w3schools.com/tags/ref_ascii.asp             http://www.alanwood.net/demos/ansi.html

这是我的分析。如果有人有任何要点,请添加。