几天来我一直在摸索,试图弄清楚如何正确编码斯堪的纳维亚字符以用于文本字段
这三个字符:Æ Ø Å ( æ ø å) 显示为 ��。意味着运行此代码
System.out.println("øst");
打印“�st”。我不知道为什么。
这是我将 System.out 重定向到打印流的代码。
System.setProperty("user.language", "da");
OutputStream out = new OutputStream() {
@Override
public void write(int b) throws IOException {
appendConsole(new String(new byte[]{(byte)b}, "UTF-8"));
}
};
PrintStream ps;
try {
ps = new PrintStream(out, true, "UTF-8");
System.setOut(ps);
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(GameController.class.getName()).log(Level.SEVERE, null, ex);
}
如果有人对此问题有解决方案,将不胜感激!