解決命令列的亂碼以及編碼的問題
命令 chcp
功能:
顯示或設定活動程式碼頁編號
CHCP [nnn]
nnn 指定內碼表編號。
不加引數鍵入 CHCP 顯示活動內碼表編號。
nnn指定一已有的系統字符集,該字符集在檔案中由COUNTRY命令定義。
在DOS下可以通過mode命令來設定內碼表。
選定內碼表: MODE CON[:] CP SELECT=yyy
內碼表狀態: MODE CON[:] CP [/STATUS]
按Windows+R組合鍵,然後輸入cmd或者command開啟命令提示符。
比如輸入:mode con cp select=936,則表示顯示簡體中文。如果輸入mode con cp select=437,則表示顯示MS-DOS 美國英語,而中文顯示將會是?。
MS-DOS為以下國家和語言提供字符集:
內碼表描述
1258 越南語
1257 波羅的語
1256 阿拉伯語
1255 希伯來語
1254 土耳其語
1253 希臘語
1252 拉丁 1 字元 (ANSI)
1251 西里爾語
1250 中歐語言
950 繁體中文
949 朝鮮語
936 簡體中文(預設)
932 日語
874 泰國語
850 多語種 (MS-DOS Latin1)
437 MS-DOS 美國英語
//補充
dos指令:
chcp 65001 就是換成UTF-8內碼表
chcp 936 可以換回預設的GBK
chcp 437 是美國英語
如何在DOS視窗中顯示UTF-8字元
在中文Windows系統中,如果一個文字檔案是UTF-8編碼的,那麼在命令列視窗(所謂的DOS視窗)中不能正確顯示檔案中的'內容。在預設情況下,命令列視窗中使用的內碼表是中文或者美國的,即編碼是中文字符集或者西文字符集。
如果想正確顯示UTF-8字元,可以按照以下步驟操作:
1、開啟命令列視窗
2、通過 chcp命令改變內碼表,UTF-8的內碼表為65001
chcp 65001
執行該操作後,內碼表就被變成UTF-8了。但是,在視窗中仍舊不能正確顯示UTF-8字元。
3、修改視窗屬性,改變字型
在命令列標題欄上點選右鍵,選擇"屬性"->"字型",將字型修改為True Type字型"Lucida Console",然後點選確定將屬性應用到當前視窗。
這時使用type命令就可以顯示UTF-8文字檔案的內容了:
type
4、通過以上操作並不能完全解決問題,因為顯示出來的內容有可能不完全。可以先最小化,然後最大化命令列視窗,檔案的內容就完整的顯示出來了。