關於windows 下sublime編譯運行C中文不顯示問題

首先,咱們要知道,windows命令行默認不是utf8的。而個人sublimem默認是utf8我又不想變成gbk.c++

而後我從網站摘抄到這樣一段話能夠解決這個問題。數據庫

一直苦惱於如何在Windows終端中顯示UTF-8字符的問題。好比,在MySQL命令行下,若是數據庫的編碼是UTF-8,那麼,在查詢數據庫的時候,裏面的中文都會變成亂碼。
今天半無心的搜索了一下,結果發現解決方案很是簡單:
1. 修改終端的代碼頁。
在終端中輸入:
chcp 65001

2. 右鍵點擊任務欄上的終端(也能夠單擊窗口左上角的圖標),在快捷菜單中選擇屬性,在裏面選擇字體——如 Lucida Console,不要選擇「點陣字體」;
肯定以後,再次測試UTF-8輸出,你看到了什麼。 :)
要切換回原來的模式也很簡單:
chcp 936

再把字體改爲原來的點陣字體就行了。

接着,從網上找到使用sublime編譯執行C:windows

Tools –> Build System –> New Build System...將下面代碼貼入,並保存。測試

剛開始代碼不是這樣的,並且我也沒有仔細看,剛開始,ctrl+shfit+B而後編譯,run,打印英文沒有問題,可是中文就直接finished。一直搞不明白,直接使用命令行沒問題,運行C++也沒問題,後來終於發現,原來是這個文件中的encoding搞的鬼,剛開始這個配置文件中encoding是936,可是不顯示。最後我將命令行和配置文件所有都換成utf8格式的,終於,打印出了中文。即:65001.字體

{ 
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"], 
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 
"working_dir": "${file_path}", 
"selector": "source.c, source.c++", 
"encoding":"cp65001",
"variants": 
[ 
{ 
"name": "Run", 
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 
"cmd" : ["${file_path}/${file_base_name}.exe"] 
} 
] 
}
相關文章
相關標籤/搜索