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字符了(修改字體後需要重新運行一次才能正確顯示)