我在jar中有一个Unicode(UTF-8无BOM)文本文件,它是作为资源加载的。Jar资源中的Unicode
URL resource = MyClass.class.getResource("datafile.csv");
InputStream stream = resource.openStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(stream, Charset.forName("UTF-8")));
这可以在Windows上正常工作,但在Linux上它看起来没有正确读取文件 - 重音字符出现破碎。我知道不同的机器可以有不同的默认字符集,但我给它正确的字符集。为什么不使用它?
你是如何确定角色被打破了?例如'System.out'被破坏。 – 2009-08-24 01:16:52
数据以网页形式发布,以UTF-8编写。 HTTP头,XML头和HTTP-equiv meta都声称UTF-8,浏览器证实了这一点。 – 2009-08-24 01:27:41