docker-composeでMySQLコンテナを立ち上げたが、日本語入力できない時にやること

なぜ、できたのか説明できないがメモとして有用なのでブログに残しておく。

解決策

LANG: C.UTF-8 を追加する。

version: '3.3'
services:
  db:
    image: mysql
    restart: always
    environment:
      LANG: C.UTF-8
      MYSQL_DATABASE: imaharu
      MYSQL_USER: imaharu
      MYSQL_PASSWORD: imaharu
      MYSQL_ROOT_PASSWORD: Pass1234

やったこと

clientの文字コードが問題だと思い、utf8mb4でMySQLクライアントを立ち上げたが入力することができなかった。

$ mysql -u imaharu -p
mysql> status

...
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    latin1
Conn.  characterset:    latin1
$ mysql --default-character-set=utf8mb4 -u imaharu -p

mysql> status

...
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4

MySQLではなく、OSの問題であると推測をつけMySQLコンテナのDockerfileを確認すると、Debianであることが判明し検索すると解決策が見つかった。

これから調べたいこと

LANG: ja_JP.UTF-8 を指定しても、日本語入力はできなかったので理由を調査したい。