1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001 # 切换代码页到UTF-8
chcp 936 # 恢复默认显示,GBK
执行命令后如下图:
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为"Lucida Console"字体,然后点击确定将属性应用到当前窗口。
4、让VC、VS显示UTF-8字符
测试代码:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main(void)
{
system("chcp 65001");
printf("Hello World\n涓浗\n");//UTF-8在GBK下显示的乱码
getch();
return 0;
}
VC、底一点版本的VS(测试时使用VS2008)默认使用:ANSI来编码的(中文系统就用GB2312)
或者把以下代码保存为UTF-8格式的源代码文件(可用Notepad++来转换成UTF-8格式)
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main(void)
{
system("chcp 65001");
printf("Hello World\n中国\n");
getch();
return 0;
}
实际上,上面两个代码正确输出后是一样的,只是强制使用其它编码显示会是乱码
将上边的代码编译运行后,再修改属性的字体就可以达到显示UTF-8字符了(修改字体后需要重新运行一次才能正确显示)