首先,咱們要知道,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"] } ] }