2014年7月16日 星期三

ubuntu 在某次升級之後,perl 會出現 LANGUAGE 和 LC_ALL 是 unset ,而且不支援中文

最近在某次更新之後,shell 突然就不支援中文,當時正值從 screen 換到 tmux ,以為是 tmux 的問題沒有理,今天才察覺是 shell 的問題。

在 sudo apt-get upgrade 時,會出現下列錯誤訊息:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

解決方式如下:

  1.  若你的  ~/.bashrc 或 ~/.bashprofile 裡有
    LANGUAGE=en_US:en
    LANG=en_US.UTF-8
    請 comment 掉或刪掉
  2. 在~/.bashrc 裡加上
    export LC_ALL="en_US.UTF-8"
  3. 執行
    sudo locale-gen zh_TW.UTF-8
    sudo dpkg-reconfigure locales