Ubuntu 16.04 設定環境語言編碼,讓中文可以正常顯示

有了自己的域名,申請了 VPS,在 VPS 中安裝了 Ubuntu 之後,就來開始進行設定,小蛙用比較久的版本是 Ubuntu 16.04 (64 bit),可以發現除了早期有 Ubuntu 12.04 或是一些其他狀況需要碰到 CentOS,不然大多使用自己熟悉的 Ubuntu 16.04。

vim garbled Ubuntu 16.04 設定環境語言編碼,讓中文可以正常顯示

預設安裝好 Ubuntu 16.04 後的編碼應該是 en_US,所以如果透過 Pietty SSH 進去主機會發現很多中文的部份沒辦法正確呈現,甚至嚴重一點的會讓 vim 沒辦法正常使用,這篇記錄一下怎麼解決的這個問題。

手動設定 .bashrc

.bashrc 這檔案會在每個使用者的家目錄中,如:/root/.bashrc/home/xxxx/.bashrc,每次只要有 ssh 遠端登入時,就會載入該使用者家目錄下的 .bashrc。

############## 顯示中文問題 ##################
// 編輯自己家目錄下的 bash 環境
vim .bashrc
// 在最下面加入這些設定
export LANGUAGE="zh_TW.UTF-8"
export LANG="zh_TW.UTF-8"
export LC_ALL="zh_TW.UTF-8"
// 使用 source 讓設定檔生效時,發生以下錯誤
source .bashrc
-bash: warning: setlocale: LC_ALL: cannot change locale (zh_TW.UTF-8)
// 透過 locale-gen 產生 zh_TW.UTF-8 的語系
sudo locale-gen zh_TW.UTF-8
sudo update-locale LANG=zh_TW.UTF-8
// 完成後重新登入即可

使用腳本自動設定 .bashrc

也可以直接把上面的功能寫成一個腳本

#!/bin/bash
apt-get update
apt-get install -y locales
locale-gen zh_TW.UTF-8
echo 'export LANGUAGE="zh_TW.UTF-8"' >> /root/.bashrc
echo 'export LANG="zh_TW.UTF-8"' >> /root/.bashrc
echo 'export LC_ALL="zh_TW.UTF-8"' >> /root/.bashrc
update-locale LANG=zh_TW.UTF-8

複製上面的內容存成 setLang.sh,接著

chmod +x setLang.sh
./setLang.sh  
source /root/.bashrc

等他跑完就可以正常顯示中文囉!附上影片,小蛙的 YouTube 頻道 – 記下來 還有更多不同主題的影片,有興趣可以過去看看!

網站架設系列文章:

    2 個回應

    1. ymh66表示:

      謝謝,很有幫助!!

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料