在Windows的CMD中如何設置支持UTF8編碼?


 

 

cmd下的utf8設置方法  這個問題很多人開始都會不知道,當然包括曾經的我,當用到的時候,只好求助於偉大的股溝和度娘了。網上有設置的方法,但說明確不夠詳細系統,說設置字體為:Lucida Console。問題是,在默認方式下,只有點陣字體,哪有什么Lucida Console。所以,在自己成功設置后,拿出來和大家分享下過程,下面就讓我們找出Lucida Console來設置吧。

   這里需要先了解些內容:

CHCP

CHCP是MD DOS中的命令,用來顯示或設置活動代碼頁編號的。用法是:

CHCP [nnn]

其中nnn指定的是代碼頁的編號。這個參數是可選的,在命令行下如果不指定這個代碼頁編號,那么默認是顯示當前的代碼頁編號。比如,在默認的cmd窗口中,我們輸入chcp,顯示的將類似:

活動的代碼頁: 936

 這里的936表示當前使用的是簡體中文(GB2312)編碼。

 

UTF8

你也需要了解編碼的一些知識,為了完成支持UTF8的工作,你至少需要知道UTF8代碼頁的編號:65001。更多關於編碼的內容,這里不贅述,請自行查找相關內容。

 

有這兩個知識點,接下來,讓cmd支持UTF8就變得容易了。

1. 運行CMD;

2. 輸入 CHCP,回車查看當前的編碼;

3. 輸入CHCP 65001,回車;

4. 僅如此,還是不能支持UTF8的正常顯示,你還要在窗體上右鍵,選擇屬性,來設置字體;

5. 操作完上面幾步后,即使你原來的字體里面沒有顯示Lucida Console這個字體,現在應該也能看到了。選擇它。如果原來就有,可以選上它先試試,不行在執行上述步驟(這里補充:至少我本機需要CHCP 65001下,有朋友說不要);

6. 選擇只應用到本窗體,確認。

這時候,你的Console里面,應該支持UTF8了。

有些朋友也想知道如何在CMD顯示更多的字體,這個其實也是有辦法的,只要在注冊表(路徑:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont)中添加就好了。需要注意的是,添加的字體需要是定寬的(fixed-width)。操作示意圖:

為cmd添加新字體

 

為cmd添加字體

上圖來自這里(英文)。需要的可以直接訪問。

===============================================================
----------------------------------------------------------------------------------------
下面內容引自:

更改cmd代碼頁,修正中文顯示 - 愛國者的個人空間 - 開源中國社區 

http://my.oschina.net/aiguozhe/blog/108542

-------------------------------------------------------------------------------------------------------------

執行以下相應的命令:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
rem 英文
chcp 437
 
rem 日文
chcp 932
 
rem 簡體中文
chcp 936
 
rem 韓文
chcp 949
 
rem 繁體中文
chcp 950
 
rem utf-8
chcp 65001

 

如果cmd的默認代碼頁屬性修改不了,那么修改注冊表:

1 win鍵+R打開“運行”對話框,輸入regedit打開注冊表編輯器。

2 找到 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]

3 修改"CodePage"=dword:000003a8

【注】十六進制"000003a8"或十進制"936",表示“936 (ANSI/OEM - 簡體中文 GBK)”。 

    如果代碼頁改成65001之后,仍無法正常顯示UTF-8字符,則需要改變字體屬性:在命令行標題欄上點擊右鍵,選擇"屬性"->"字體",將字體修改為True Type字體"Lucida Console",然后點擊確定將屬性應用到當前窗口。 
    通過以上操作並不能完全解決問題,因為顯示出來的內容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的內容就完整的顯示出來了。

----------------------------------------------------------------------------------------------------------------

 

附: chcp詳解

功能說明 
顯示活動控制台代碼頁數量,或更改該控制台的活動控制台代碼頁。如果在沒有參數的情況下使用,則 chcp 顯示活動控制台代碼頁的數量。

補充說明 
只有隨 XOX 一起安裝的原始設備制造商 (OEM) 代碼頁才能在使用 Raster 字體的命令提示符窗口中正常顯示。其他代碼頁則可在全屏幕模式下或者在使用 TrueType 字體的命令提示符窗口中正確顯示。 就像在 MS-DOS 中一樣,您不必准備代碼頁。 在指派了新代碼頁之后啟動的程序將使用該新代碼頁,但如果程序(除了 Cmd.exe)是在指派新代碼頁之前啟動的,那么該程序將使用原來的代碼頁。

語法 
chcp [NNN] 

參數 
NNN 指定代碼頁。下表列出了MSDOS所有支持的代碼頁及其國家(地區)或者語言: 
代碼頁     國家(地區)或語言
437          美國 
850          多語言(拉丁文 I)
852          斯拉夫語(拉丁文 II)
855          西里爾文(俄語) 
857          土耳其語
860          葡萄牙語
861          冰島語
863          加拿大 - 法語
865          日耳曼語
866          俄語
869           現代希臘語 
936           簡體中文
950           繁體中文
65001       UTF-8

/? 在命令提示符下顯示幫助。

示例 
要查看活動代碼頁設置,請鍵入:chcp

 

出現類似於下面內容的消息:
活動代碼頁:437

如果要將活動代碼頁更改為 850(多語言),請鍵入:chcp 850

 

如果指定的代碼頁無效,則會顯示以下錯誤消息:

無效代碼頁


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM