[Ubuntu] 設定 LC_ALL 環境變數時,出現 cannot change locale 錯誤?

[Ubuntu] 設定 LC_ALL 環境變數時,出現 cannot change locale 錯誤?

今天在一台 Ubuntu 機器上,想要設定  

LC_ALL
LC_ALL 環境變數,

結果居然不能設成常見的  

en_US.UTF-8
en_US.UTF-8 ,

出現了 setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ LC_ALL=en_US.UTF-8
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
$ LC_ALL=en_US.UTF-8 -bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
$ LC_ALL=en_US.UTF-8

-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory

 

執行  

locale -a
locale -a 看一下,

結果這台機器只有  

C
C 、 
C.UTF-8
C.UTF-8 和  
POSIX
POSIX 這三種 locale,

真是詭異…

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ locale -a
C
C.UTF-8
POSIX
$ locale -a C C.UTF-8 POSIX
$ locale -a

C
C.UTF-8
POSIX

 

查了一下,可以用  

locale-gen
locale-gen 產生常見的 locale,例如:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8
sudo locale-gen en_US sudo locale-gen en_US.UTF-8
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8

 

產生完後,再執行下面指令來更新:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dpkg-reconfigure locales
dpkg-reconfigure locales
dpkg-reconfigure locales

 

這樣之後就可以把  

LC_ALL
LC_ALL 環境變數設成 
en_US.UTF-8
en_US.UTF-8 沒問題啦~

 

參考資料:localization – Remove a locale in Ubuntu – Server Fault

(本頁面已被瀏覽過 131 次)

發佈留言

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

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