2007年1月30日

變更 Windows 命令提示字元視窗中的編碼系統

最近在測試 maven2(是的,這次的決心似乎有比較強一點),因為檔案編碼的問題造成 mvn 無法完成編譯的動作後,就把所有的源碼都改成了 UTF-8 編碼系統,結果在跑測試程序時吐出一大堆亂七八糟的訊息,就像下圖這樣:
亂碼訊息

一開始的念頭當然是編碼錯誤的關係(誰叫我手賤去改源碼的編碼格式),於是想到是不是可以透過修改提示字元視窗中使用的編碼來避開這個亂碼一大堆的問題?

想要指定提示字元視窗所使用的編碼可以透過 chcp.exe 這個指令,它的意思就是 change code page ,使用說明如下:

C:\Documents and Settings\adahsu>chcp /?
顯示或設定使用中字碼頁編號。

CHCP [nnn]

nnn 指定字碼頁編號。

不加參數鍵入 CHCP 顯示使用中字碼頁編號。

C:\Documents and Settings\adahsu>

繁體中文的 Code Page 是 950,如果要使用 UTF-8 的話則是 65001 。至於設定之後是不是就正常了呢?

沒有,它變的無法啟動 mvn 了…

※若源碼沒有使用 UTF-8 存檔的話,會出現像這樣的訊息,然後編譯失敗:

OrganizationTest.java:[144,38] illegal escape character