ロケールエラーを修正する方法


11

を使用して、ubuntuを新規インストールしましたdebootstrap。するとsudo aptitude upgrade、次のエラーメッセージが表示されます。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LANG = "en_US.ISO-8859-1"
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

誰かがこの問題を解決する方法を教えてもらえますか?このオンラインに似た多くの投稿を見ていますが、どれも問題を解決していないようです。

を使用していUbuntu 14.04 LTSます。ありがとう。


ご参考までに:

$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

そして

$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=

1
これはすでに回答済みですaskubuntu.com/questions/162391/how-do-i-fix-my-locale-issue概要:/ etc / default / localeでLC_ALLを定義
h7r 14

回答:


6

debootstrapロケールを作成しません。そのため、ロケールとして別のものを使用します。次のコマンドを使用します。

sudo locale-gen en_US.ISO-8859-1

これがお役に立てば幸いです!


いいえ、aptitude有効です。あなたの答えはOPに変更を与えるものではありません。
ダナテラ

2
これでロケールエラーを解決できるかもしれませんが、latin1エンコーディングのシステムを提供しますが、これはUbuntuには適していません。
グンナルハルマルソン

また、中~/.kde.env/setlocale.shには、設定export LANG=en_US.UTF-8
user1527227

11

Ubuntuデスクトップは、UTF-8エンコードでセットアップする必要があります。何らかの理由で、システムはlatin1ロケールen_US.ISO-8859-1を設定しようとします。あなたは本当にそれを変えるべきです。

たぶん、設定はで行われ/etc/default/localeます。

いつでもそれを変更します

LANG=en_US.UTF-8

さもないと、さまざまなロケール関連の驚きに遭遇します。


使用するのは確かですか?どうして知っていますか?
user1527227

@ user1527227:まあ、ほとんど。;)AFAIK en_US.UTF-8はすべてのUbuntuデスクトップで事前に生成されているためです。ただし、locale -aコマンドを実行することで簡単に確認できます。質問を編集して、そのコマンドの出力を追加するとよいでしょう。
グンナルHjalmarsson

リクエストした情報を追加しました。
user1527227

1
@ user1527227:わかりen_US.utf8ましたlocale -a。そこで出力を確認できます。スタンドen_US.ISO-8859-1からen_US.UTF-8スタンドに変更する私のアドバイス。
グンナルHjalmarsson

ありがとうございました。正確にそれを行う方法を知っていますか?表示されません/etc/default/locale。ただ走ってもsudo locale-gen en_US.utf8いいですか?
user1527227

8

ロケールの問題の永続的な解決策は、.bash_profileファイル内のロケール変数をエクスポートすることです。の/etc/profile代わりにfileを使用することもできます.bash_profile

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

忘れずにsource、簡単なセットアップでスクリプト.bash_profile従ってください。

ここにあるスクリプトロケール問題を修正します




1

私のために働いたのは次のとおりです:

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales

永続的な解決策のために、あなたは置くことができます

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8

あなたの中.zshrc.bashrc

参照

  1. https://jee-appy.blogspot.com/2016/02/set-locale-on-ubuntu-permanent-solution.html
  2. https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.