web-dev-qa-db-ja.com

ロケールの問題:「ロケールの設定に失敗しました。」

ロケールに問題があり、機能する解決策が見つかりません!

すべてのチュートリアルは次のように似ています: http://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian

したがって、これはロケールの問題です。

pi @ server [~]:
$ > Sudo deluser --remove-home cm22
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_GB.UTF-8"
are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").
Looking for files to backup/remove ...
Removing user `cm22' ...
Warning: group `cm22' has no more members.
Done.

どうすれば解決できますか?ありがとうございました

5
anerdev

Debianは、ロケール定義を直接使用できない形式で出荷することでネットワーク帯域幅を節約します。ロケール間で共有される情報(たとえば、en_USen_CAは非常に似ています)は単一のファイルに保存されます。使用可能なロケール定義は、各マシンで生成する必要があります。 CPU時間とディスク容量を節約するために、システム管理者から要求されたロケールのみが生成されます。

次のコマンドをrootとして実行して、生成するロケールのセットを構成します。

dpkg-reconfigure locales

または、ファイル/etc/locale.genを編集して、必要なロケールに対応する行をコメントアウトします(#で始まる行はコメント行です)。たとえば、en_GB.UTF-8ロケールが必要な場合は、次の行が必要です。

en_GB.UTF-8 UTF-8

/etc/locale.genを編集したら、locale-genを実行してロケール定義を再生成します。

UTF-8に設定した値LC_CTYPEが無効です。有効なロケール名を使用する必要があります。 LC_CTYPE=en_GB.UTF-8LC_CTYPEは未設定のままにしておくことができます。デフォルトではLANGの値になります。ただし、 私はむしろお勧めしますLANGを未設定のままにして、LC_CTYPE=en_GB.UTF-8LC_TIME=en_GB.UTF-8を設定します(別の言語を使用している場合、LC_MESSAGESは事実上デフォルトで英語になります次に、それも設定する必要があります)。