
私のサーバー (Debian 7.5 stable (Wheezy) (64 ビット)) でロケールを生成する際に問題が発生します。ルートとして実行すると、次のようになります。
dpkg-reconfigure locales
を選択するとen_US.UTF-8
、次のログが表示されます。
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:en",
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").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:en",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:en",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
sh: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)
理由が分かりますか?
ありがとう!
答え1
どうやら、あなたの環境には があるようですが、生成するまたはその他のバリエーションLANGUAGE=en_GB:en
を選択していません( の最初の部分)。en_GB
en
dpkg-reconfigure locales
おそらく、古いデフォルトとして設定されていたen_GB
が、生成するロケールのリストから削除されたのでしょう。ただし、環境にはまだ古い設定が残っているため、perl は (古い) ロケールが見つからないと文句を言っています。英語圏の人々にとってはそれ自体は問題ではなく、フォールバック ロケールは完全に読みやすいので、実際には問題ではありません。
ログアウトして再度ログインすると新しい設定が適用されます。または、
source /etc/default/locale
あなたの殻から。
一部のアプリケーションでは、特定のロケールのローカリゼーションが常に利用できるとは限りません。このような場合は、次のようにアプリケーションを起動すると、ロケールがC
常に利用できるため役立つ場合があります。
env LC_ALL=C applicationname