怎样让windows命令行支持utf-8字符集?

按网上的资料:
1、打开CMD.exe命令行窗口

2、通过 chcp命令改变代码页,UTF-8的代码页为65001

chcp 65001

执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。

3、修改窗口属性,改变字体

在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。

操作后发现,是有部分中文可以输出,比如:我的名字
但输出:构造函数
就会出问题了。
为什么会这样?
怎样才能解决?

阅读 7.8k
1 个回答

你应该是用普通的文本编辑器编写java源代码而不是eclipse吧。假设你的程序是这样的:

public class HelloWorld{
    public static void main(String[] args) {
        System.out.println("Hello World 你好");
    }
}

你是不是这样编译的java的:

> javac HelloWorld.java

然后,运行:

> java HelloWorld

显示:

Hello World 浣犲ソ

我们改造一下javac的编译:

> javac HelloWorld.java -encoding utf-8

这样看一下:

>java HelloWorld

结果:

Hello World 你好

正常了!

我们看看这个javac -encoding utf-8是什么鬼:

> javac -help
-encoding <encoding>       Specify character encoding used by source files
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进