ロケールをen_US.UTF-8
に設定しようとしましたが、成功しませんでした。インターネットに関する他の回答に基づいて、私は最初にロケールを生成する必要があります
Sudo locale-gen en_US.UTF-8
そしてそれを適用します
Sudo dpkg-reconfigure locales
ただし、locale-gen
を実行すると、奇妙なことが行われます。
user@Host /home/user $ Sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
en_US.ISO-8859-1... done
Generation complete.
ご覧のとおり、実際にはUTF-8を生成することはありませんが、代わりにISO-8859-1にフォールバックし続けます。生成できないためか、LC_ALL
をen_US.UTF-8
に設定できません。
私は何か間違ったことをしていますか? Debian 8.1を実行しています。
DebianでUbuntuのレシピを適用しようとしました。これは通常は機能しますが、この特定のケースでは機能しません。
UbuntuはDebianから派生したもので、インストーラーとGUI以外はほとんど変わりません。 _locale-gen
_コマンドは、それが変更する他の数少ないものの1つです。理由はわかりません。
Debianでは、_locale-gen
_コマンドは引数を取らず、設定されたロケールのリストに従ってコンパイルされたロケール定義を再生成します。使用するロケールの選択を変更するには、ファイル_/etc/locale.gen
_を編集してから、_locale-gen
_コマンドを実行します。または、_dpkg-reconfigure locales
_をルートとして実行し、必要な追加のロケールを選択して(不要なロケールの選択を解除して)、[OK]を押します。
Ubuntuでは、引数なしで_locale-gen
_コマンドを実行すると、構成されたロケールのリストに従ってコンパイルされたロケール定義が再生成されます。しかし、いくつかの引数を渡すと、それらはリストに追加され、すぐに生成されます。ロケールのリストは_/var/lib/locales/supported.d/local
_に保持されます。 _dpkg-reconfigure locales
_を実行すると、選択を変更する機会を与えることなく、コンパイルされたロケールが再生成されます。
要約すると、使用可能なロケールのリストに_en_US.UTF-8
_を追加するには:
dpkg-reconfigure locales
_sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
locale-gen en_US.UTF-8
_インターネットを盲目的に信頼する代わりに、locale-genのmanファイルを実際に読み取った後、locale-gen
は実際に/etc/locale.gen
からロケールを生成することがわかりました。そこでen_US.UTF-8
のコメントを外すことで、なんとか生成することができました。