web-dev-qa-db-ja.com

LC_CTYPEをデフォルトのロケールに設定できません:そのようなファイルまたはディレクトリはありません

私はこれとして正確な質問を持っていますが、解決策はありません。試したがうまくいかない

ロケールの問題を修正するにはどうすればよいですか

$ locale
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
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX

これは、en_US.UTF-8とen_US.utf8の不一致が原因ですか?

直し方?

51
Mave

ターミナルを開き、次のコマンドを実行します。

export LC_ALL="en_US.UTF-8"
49
Nazar

この同じ問題(LC_CTYPE = UTF-8、間違っています)は、MacからLinuxボックスにsshでログインし、端末が環境変数を自動的に設定するときに発生する可能性があります。そのためのチェックボックスがあります。チェックを外すと、準備完了です。 iTermでは、プロファイル-> [端末]タブにあります。

34
raarts

同様の問題があり、/etc/default/localeファイルに以下の行を追加しました。

LC_CTYPE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"

私はこの投稿からこれを得ました: ロケールの問題を修正するにはどうすればよいですか?

26
Sand1512

私のためにこの作品でのみ

Sudo dpkg-reconfigure locales
Sudo locale-gen
18
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
Sudo dpkg-reconfigure locales
9
Hardik Gajjar

localeコマンドからの出力は、環境に次の不正な行があることを示しています。

LC_CTYPE="UTF-8"

(「UTF-8」は有効なロケール名ではありません。)

通常、/etc/default/localeから取得されます。その行がある場合は削除し、再ログインしてください。

そこから来ていない場合は、シェル構成から来るか、SSHを介してリモートでログインしている場合は、クライアントマシンの構成から来ます。

6

このコマンドは私の命を救った

Sudo echo "LC_ALL=en_US.UTF-8" >> /etc/environment
Sudo echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
Sudo echo "LANG=en_US.UTF-8" > /etc/locale.conf
Sudo locale-gen en_US.UTF-8
5
Taras Vaskiv

/ etc/default/localeファイルには、追加の(ただし不要な)行を含めることができます。ファイルの例は次のようになります。

#  File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE="en_IN:en

ロケールを整理して正常に生成および再構成するには、このファイルから次の行を除くすべての行を削除またはコメントアウトします。

LANG=en_US.UTF-8

ファイルは最終的に次のようになります。

#  File generated by update-locale
LANG=en_US.UTF-8
# LANGUAGE="en_IN:en

この後、dpkg-reconfigure localesを実行し、ロケールの選択を求めるプロンプトが表示されたらen_US.UTF-8を選択すると、準備完了です。プロセスが完了すると、Generation complete.メッセージが表示されます。

3
Ambar

次を実行するだけです:

Sudo apt-get upgrade

すべてのロケートを生成し、デフォルトをUSに設定します。

export LC_ALL="en_US.UTF-8"
0
Hosein Basafa

私はホームディレクトリのドットファイルを新しいマシンに移行するときに自分でなんとかして、LC_ではなくLOCでファイルを検索するため、しばらく原因を特定できませんでした。

コピーした~/.bashrcファイルには次のものがありました。

export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

(ここでの特定の値は、古いマシンでGNU Guixを使用した以前の実験のためでしたが、関連する事実は、環境変数が現在無効なパスに設定されたことだけです。)

これにより、さまざまなプログラムの実行時に次のエラーが発生しました。

Warning: locale not supported by C library, locale unchanged

localeの実行時のこれらのエラー:

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

LOCPATH行を削除(またはコメントアウト)すると、問題が解決しました。

0
phils