有這麼一個文件,它在Eclipse屬性中看到是UTF8編碼的,裏面包含了中文:shell
可是當在Windows控制檯中查看這個文件(爲了方便,我將文件拷貝到桌面了)的時候,就是亂碼了:windows
那如何讓cmd能夠顯示這些UTF8編碼的字符呢?這裏須要先了解些相關內容:asp.net
chcp命令字體
chcp是MS DOS中的命令,用來顯示或設置活動代碼頁編號的。用法是:編碼
C:\Users\002778\Desktop>chcp /? 顯示或設置活動代碼頁編號。 CHCP [nnn] nnn 指定代碼頁編號。 不帶參數鍵入 CHCP 以顯示活動代碼頁編號。
好比,在默認的cmd窗口中,咱們輸入chcp,顯示的將相似:
spa
C:\Users\002778\Desktop>chcp 活動代碼頁: 936
這裏的936表示當前使用的是簡體中文(GB2312)編碼。更多代碼頁編號請查閱這裏。.net
UTF8編碼code
你也須要了解編碼的一些知識,爲了完成支持UTF8的工做,你至少須要知道UTF8代碼頁的編號:65001。更多關於編碼的內容,這裏不贅述,請自行查找相關內容。blog
有這兩個知識點,接下來,讓cmd支持UTF8就變得容易了。ip
1. 運行cmd;
2. 輸入 chcp,回車查看當前的編碼;
3. 輸入chcp 65001,將輸出:
Active code page: 65001 C:\Users\002778\Desktop>
4. 若是僅如此,有可能仍是不能支持UTF8的正常顯示,你還要在窗體上右鍵,選擇屬性,來設置字體。在以前的936當中,是沒有Lucida Console這個字體的,可是切換到65001後,就能看到了:
6. 選擇Lucida Console並只應用到本窗體,確認,而後再試試:
這樣就用cmd成功的顯示UTF8的字符了。
參考頁面:
http://blog.useasp.net/archive/2012/04/24/how_to_use_UTF8_encoding_in_Windows_CMD.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/dd317752(v=vs.85).aspx