正确显示(抛光)字符

时间:2015-06-14 13:20:23

标签: java encoding character-encoding polish

我正在阅读一个包含德语,法语,西班牙语,英语和波兰文字的xml文件。

为了处理抛光字母(造成最大麻烦),我试图这样做:

File file = new File(path);
InputStream is = new FileInputStream(file);
Reader reader = new InputStreamReader(is, charset);

InputSource src = new InputSource(reader);
src.setEncoding(charset.name());

SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();

saxParser.parse(src, handler);

我遇到的问题是没有任何默认字符集正确显示文本。一些有问号,其中一些有其他字符的组合,例如AO ..

为了打破它,我写了另一个片段来测试哪个charset有效:

public static void main(String[] args){
        Charset charset = StandardCharsets.UTF_8;
        String chars = "śłuna długie";
        System.out.println(new String(chars.getBytes(charset), charset));
}

再次测试每一个但没有任何作用.. 我希望你有个主意。

1 个答案:

答案 0 :(得分:0)

我的解决方案:更改ide的编码

我使用了我的ide(intellij)的默认编码,它是" windows-1252",因为我在这台电脑上使用了Windows。

所以我将它改为UTF-8,简短的测试代码对我来说很好。