Debian

在 vps 上配置語言環境的正確方法?

  • February 23, 2010

我注意到在一些 VPS 上,locales預設情況下沒有安裝,所以dpkg-reconfigure locales只會拋出一個錯誤,說locales沒有安裝。

我想這樣做apt-get install locales,我已經這樣做了幾次,我知道這設置了語言環境,但是儘管將自身配置為工作,它也會開始拋出警告,因此此後的每個包都不會抱怨類似的東西:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
   LANGUAGE = (unset),
   LC_ALL = (unset),
   LANG = "en_US.UTF-8"
   are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

但是我應該做一些像編輯/etc/environment和手動設置環境變數這樣的事情LC_ALLen_US.UTF-8確保安裝locales順利嗎?或者它甚至沒有關係,因為我只會安裝一次,儘管它在嘗試安裝時會發出警告,因為它會在那之後工作,不用擔心?

您不必擔心這些警告消息,它們與實際安裝或配置無關,而是與向您顯示的消息有關(在那個部門也很少發生任何嚴重的事情)。

我在“這無關緊要”的答案上胡說八道。一方面,控制台中不斷出現的錯誤無法設置區域設置非常煩人。但這還不是全部,有些事情真的行不通。

我剛剛在一個新的 VPS 上解決了這個問題。一個簡短的總結:

需要先生成語言環境,然後才能使用它們。我不確定其他發行版,所以以下是 debian/ubuntu 的摘要。

首先嘗試執行dpkg-reconfigure locales這應該在一些debian 發行版上設置它。但我偶然發現了一些沒有。這可能意味著您需要在其他地方重新配置,但我找不到它,所以我想出了一個更手動的方法來做同樣的事情:

較舊的 debian/ubuntu 將支持的語言環境儲存在 中/etc/locale.gen,較新的將其儲存在/var/lib/locales/supported.d/local

您可以通過檢查目錄是否/var/lib/locales/supported.d/存在來判斷您擁有哪一個。

要生成en_US.UTF-8語言環境,請將以下字元串放入此文件中:en_US.UTF-8 UTF-8 然後執行locale-gen以生成語言環境。

locale -a您可以通過執行列出所有可用的語言環境來確認該生成是否有效。

現在你需要配置你的 shell 來設置語言環境。只需編輯/etc/default/locale並將以下內容放在那裡:LANG=en_US.UTF-8

現在你可以退出你的shell並回來檢查echo $LANG列印en_US.UTF-8

應該是這樣。

引用自:https://serverfault.com/questions/86578