LoginSignup
2
1

More than 3 years have passed since last update.

localeでエラーが起きた時対応

Posted at

MacのターミナルではUTF8テキストが文字化けせずにみれるのに、他のターミナルからは文字が化けるということがある。ターミナルからlocaleを送る時と、そうでない時があるようだ。

WSL Terminalからだとこんば化け方(あいうえおと書いてる)
image.png

localeがおかしいはずなので、localeコマンドをうってみる

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

いろいろ怒られてる。localeの設定がこと切れてる。じゃぁどのloaleを設定すればいいのさ。

locale -a | less

のコマンドを打てば、利用可能な一覧が出てくる。

export LC_ALL=en_US.utf8

というロケール設定で、だいたいは収まる。

以下、en_US.utf8 にしている理由。

  • コマンドの出力結果が日本語だと想定外になるので、英語のままがいい
  • US以外の英語もあるが、こだわりはないので、en_USでいい
  • 何よりもUTF8の表示がしたいから、UTF8がいい
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1