環境
結論
- docker-compose.ymlでcommandを追加してcharacterを設定した
状況
jango.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE3\\x81\\xAF\\xE3\\x81\\x98...' for column 'column名' at row 1")
調査
- とりあえずググる
- 文字コードの関係で日本語が保存できない様子
- mysqlのコンテナに入って
mysql -u root -p
でmysqlにログイン
- database選択
- variablesに設定されている値を確認
mysql> show variables like "chara%";
utf8mb4(utf8)に変更する
- 日本語が使用できて現状最も多様性がありそうなutf8mb4に変更する
- utf8でもいいが、utf8mb4だと絵文字や難しい漢字とかが使えるとのこと
- dbのservicesにcommandを追加した
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
参考
MySQLの文字コード事情 2017版