前提・実現したいこと
Django + MySQL で Web アプリケーションを作成しています。
モデルからマイグレーションして、日本語を登録しようとしたところ"???"の表記になってしまいます。
rdsの管理画面からパラメータグループを変更し、インスタンスを再起動しました。
発生している問題・エラーメッセージ
select で確認したところ以下の通りです。
Django の管理画面から確認しても同様の結果です。
id 3と4に関しては日本語を入力した結果になります。
+----+--------+ | id | name | +----+--------+ | 1 | abc | | 2 | def | | 3 | ?? | | 4 | ?? | +----+--------+
該当のソースコード
DB の character 指定の問題だと思っているので、関係あると思っている各種設定を下記に貼ります。
mysql> status; -------------- Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 --------------
mysql> show variables like 'char%'; +--------------------------+-----------------------------------------------------------------+ | Variable_name | Value | +--------------------------+-----------------------------------------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /rdsdbbin/oscar-5.6.mysql_aurora.1.22.2.0.790.0/share/charsets/ | +--------------------------+-----------------------------------------------------------------+ 8 rows in set (0.00 sec)
試したこと
mysql コマンドから UPDATE コマンドで日本語のデータを入れようとしても "???" として表示されました。
mysql> UPDATE table_name SET name = "あいう" WHERE id = 3; Query OK, 0 rows affected, 1 warning (0.01 sec) Rows matched: 1 Changed: 0 Warnings: 1 Warning (Code 1366): Incorrect string value: '\xE5\xB9\xB8\xE6\xB0\xB4' for column 'name' at row 1 mysql> SELECT * FROM table_name; +----+--------+ | id | name | +----+--------+ | 1 | housui | | 2 | kousui | | 3 | ?? | | 4 | ?? | +----+--------+ 4 rows in set (0.01 sec)
補足情報(FW/ツールのバージョンなど)
バージョン情報は以下の通りです。
Django: 3.1.6
mysql: 8.0.23
回答1件
あなたの回答
tips
プレビュー