我正在阅读一个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));
}又一次测试了每一个,但都没有用。我希望你有个主意。
发布于 2015-06-14 14:48:57
我的解决方案:更改ide的编码
我使用了我的ide (intellij)的默认编码,它是"windows-1252",因为我在这台pc上使用windows。
所以我把它改成了UTF-8,这个简短的测试代码对我来说很好。
https://stackoverflow.com/questions/30829866
复制相似问题