fjs*_*jsj 4 java printing unicode cmd
我在Java中有以下类,用葡萄牙语打印"Hello World":
public class PrintUnicode {
public static void main(String[] args) {
System.out.println("Olá Mundo!");
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Eclipse,因此我将项目导出到Runnable Jar文件中.之后,我去了cmd(Windows 7)并运行生成的jar文件.
结果是:
Olß Mundo!
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来避免这个错误?
找到了解决方案.只需改为:
public class PrintUnicode {
public static void main(String[] args) {
System.console().printf("Olá Mundo!");
}
}
Run Code Online (Sandbox Code Playgroud)
System.out发生错误的原因是:
默认情况下,Java会对在默认代码页中发送到System.out的字符串进行编码.在Windows XP上,这意味着有损转换为"ANSI"代码页.这很不幸,因为Windows命令提示符(cmd.exe)可以读取和写入Unicode字符.(来源)
| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |