7

我正在阅读一个包含德语、法语、西班牙语、英语和波兰语文本的 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);

我遇到的问题是默认字符集都没有正确显示文本。有些里面有问号,有些里面有其他字符的组合,例如ÄÖ..

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

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));
}

再次测试了每一个,但没有任何效果..我希望你有一个想法。

4

1 回答 1

0

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

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

所以我把它改成了 UTF-8,简短的测试代码对我来说很好用。

于 2015-06-14T14:48:57.920 回答