早期計算機對文字的編碼還沒有統一規範時,每個語系都有自己的編碼,稱為字元集(character set),例如:Big51、ASCII2。有些程式撰寫時不是使用 Unicode3 萬國碼時,在遇到不同預設字元編碼(character encoding)時就會出現亂碼。常見於使用日文(Shift-JIS)、簡體中文(GBK)的軟體。
哪些情況需要調整?
日文軟體與遊戲
最常遇到這個問題的是使用日本軟體或玩日文遊戲時,早期日本電腦中使用的字元編碼是 Shift-JIS,和繁體中文的 Big5 完全不相同,因此當我們使用 Big5 的編碼方式去解析 Shift-JIS 格式的編碼時,就會造成錯誤解讀,產生亂碼
影片剪輯軟體 AviUtl 是繁體中文使用者最常遇到的例子。作為日本社群極受歡迎的免費剪輯軟體,這個軟體介面、插件都是用 Shift-JIS 編碼,在繁體中文的系統上直接開啟時,選單和插件名稱幾乎全都是亂碼。必須把非 Unicode 程式的語言改成「日文(日本)」並重新啟動後,介面才會正常顯示。
日文遊戲也是重災區,尤其是 Key、Type-Moon 等公司早期出版的視覺小說,或是年代較久遠的日本 PC 遊戲,安裝程式和遊戲本體都不支援 Unicode,不僅僅介面亂碼,安裝時的路徑、安裝程式都有可能產生亂碼,日後修正會非常麻煩,建議在安裝之前先把設定改好。
VOCALOID 2 是最早期初音未來電腦版,它是為 Windows XP 時代設計的軟體,完全依賴 Shift-JIS 編碼,所以也有相同的問題。
此外,如果有一些日文 MP3 歌曲,播放時歌手的名字和專輯名稱也是亂碼的話,通常是因為 ID3 標籤也是用 Shift-JIS 編碼的關係,用同樣的方式改成「日文(日本)」也可以解決亂碼問題。
簡體中文軟體
簡體中文的情況稍有不同,早期使用 GBK 或 GB2312 編碼,同樣和繁體中文系統的預設編碼方式不相容,雖然近幾年軟體以陸陸續續更新為使用 Unicode 編碼,但是在舊版的老程式和停止更新的小工具、軟體仍可能出現亂碼問題(甚至網頁也有機會)。
最常見的情況是忘記更改而在開啟軟體或純文字檔案時,因為內部使用 GBK 編碼而造成亂碼,此時進入設定將非 Unicode 語言改成「中文(簡體,中國)」即可解決亂碼問題。
值得注意的是,非 Unicode 語言是全系統共用的,因此此時開啟日文軟體或繁體中文軟體就會出現亂碼。
更改非 Unicode 程式的語言方法

更改「非 Unicode 程式的語言」方法非常簡單,首先前往設定,在視窗左側的大分類中,找到「時間與語言」並點擊。接著點進「語言與地區」,在上方的 Windows 顯示語言摺疊選單中可以找到非 Unicode 程式的語言,右邊的下拉式選單即可調整。調整完後需要重新開機才會套用調整。
此為已經將非 Unicode 程式的語言整合進新版設定 App 的 Windows 調整方法,如果你的設定中這裡沒有,請用舊方法。
舊方法
這個方法是 Windows 尚未將非 Unicode 程式整合進新版設定 App 的開啟方法。

進入設定 App 後,在右側找到「語言與地區」並進入。在「語言與地區」中往下找到「系統管理語言設定」,點它後會打開另一個小視窗,裡面有「非 Unicode 程式的語言」這個區塊。
點裡面的變更系統地區設定,此時會跳出另一個小視窗。在這個小視窗中,裡面有一個下拉式選單,使用這個選單選擇想要的語言並按下確認,關閉剛剛開啟的所有視窗並重新開機即會套用變更。
不想每次重開機?用 Locale Remulator
每次切換非 Unicode 程式語言都要重開機一次,而且他是全域設定,如果要在多語系軟體間來回切換使用便顯得非常麻煩。這時候可以考慮用 Locale Remulator 這個免費工具。
Locale Remulator 的做法是針對「單一程式」指定執行時使用的編碼,不會動到系統的全域設定。安裝完成後對著執行檔按右鍵就會出現「以日文環境執行」或「以簡體中文環境執行」的選項,不需要重新開機,也不影響其他程式。
Locale Remulator 是 Locale Emulator 的續作,Locale Emulator 自 2021 年起已停止更新,且只支援 32-bit 程式,現在軟體都是 64-bit 甚至是 64-bit only,Locale Emulator 可發揮的空間愈來愈少。Locale Remulator 補上支援 64-bit,相較於使用停止更新的 Locale Emulator 比較建議使用有更新的 Locale Remulator。
Locale Remulator 是開源軟體,可以在 GitHub 上免費下載使用。
相關文章
- Big5 是繁體中文(正體中文)常用的標準編碼。
https://zh.wikipedia.org/wiki/%E5%A4%A7%E4%BA%94%E7%A2%BC ↩︎ - ASCII Code,美國通用編碼標準。
https://zh.wikipedia.org/zh-tw/ASCII ↩︎ - Unicode,萬國碼。將世界上常用語言集合成單一編碼,使電腦可以使用通用的編碼來處理字元,解決跨平台、跨語系造成的亂碼問題。
https://zh.wikipedia.org/wiki/Unicode ↩︎
