LoginSignup
14
10

More than 5 years have passed since last update.

docker exec /bin/bashでコンテナに入るとvimが文字化けする

Posted at

docker execでコンテナに入ることができるが、入った先でvimが文字化けしてしまう現象に遭遇した。

文字化けの現象

sudo docker exec -it myapp /bin/bash
vim index.html
UTF-8が文字化けしている様子
文字化けの様子

:e ++enc=utf8などしても改善せず。

解決するにはlocale環境変数を設定する

こういう場合は、localeがUTF-8じゃない可能性がある。dockerのコンテナに入った状態でロケールを調べる:

$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

もし、LANGが未設定であれば、コンテナに入った状態で、LANGを設定する。

export LANG=en_US.UTF-8

これでvimで文字化けなく開けるようになる。

関連: Docker: コンテナのlocaleを設定したい - Qiita

14
10
1

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
14
10