正确显示(抛光)字符
Display (polish) characters properly
我正在阅读一个 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);
我遇到的问题是 none 的默认字符集可以正确显示文本。有些里面有问号,有些里面有其他字符的组合,例如ÄÖ..
为了稍微分解一下,我写了另一个片段来测试哪个字符集有效:
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,简短的测试代码对我来说工作正常。
我正在阅读一个 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);
我遇到的问题是 none 的默认字符集可以正确显示文本。有些里面有问号,有些里面有其他字符的组合,例如ÄÖ..
为了稍微分解一下,我写了另一个片段来测试哪个字符集有效:
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,简短的测试代码对我来说工作正常。