概要
dockerのMySQLコンテナはそのまま使うと日本語が文字化けしてしまう。
MySQLの設定ファイルmy.cnfで文字コードを指定することで、文字化けを解消することができる。
手順
1. my.cnfを用意し、任意のディレクトリ内に格納する
ここではmysql/my.cnfとする。
[mysqld]
character_set_server = utf8mb4
collation-server=utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
※ collation-serverは必要に応じてutf8mb4_binなどに変更する。
参考サイト
MySQLの文字コードとCollation - Qiita
散々、書かれていることで、何度もでてくる話なので、自分用にまとめ。文字コードまずMySQLの文字コードですが絵文字のみでなく、JIS X 0213の第3・4水準漢字の一部にUTF8 4バイト文…
2. docker-compose.ymlのvolumesでmy.cnfを指定する
version: '3.9'
services:
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: hoge
LANG: ja_JP.UTF-8
volumes:
- ./mysql/dbdata:/var/lib/mysql
- ./mysql/my.cnf:/etc/mysql/conf.d/my.cnf
restart: always
コメント