java – 正确显示(抛光)字符

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

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

解决方法

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

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

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

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...