問題の説明: dockerを使用してmysqlをインストールした後、中国語の文字化けした文字が次のように表示されます。
解決策は次のとおりです。
1. mysqlを起動します。
docker start mysql
2.コンテナーを入力します。
docker exec -it mysql /bin/bash
3. mysqlにログインします。
mysql -u root -p
4.データベースのデフォルトの文字セットを表示します。
SHOW VARIABLES LIKE 'character_set_%';
ご覧のとおり、デフォルトはlatin1で、接続はクライアントを介して接続するときに指定されたエンコーディングです。
文字化けした外部アクセスデータの問題は、接続層にあります。
5.文字セットをutf-8形式に変更します。
SET NAMES'utf8mb4 ';は、次の3つの命令と同等です。
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
6.構成ファイルを変更します。
①設定ファイルのディレクトリに入り、次のように必要なソフトウェアをインストールします。
②my.cnfを変更する
- [mysqld]ラベルの下に2行追加します
デフォルトの文字セット= utf8mb4
character_set_server = utf8mb4
- [mysql]ラベルの下に行を追加します
デフォルトの文字セット= utf8mb4
- [mysql.server]ラベルの下に行を追加します
デフォルトの文字セット= utf8mb4
- [mysqld_safe]ラベルの下に行を追加します
デフォルトの文字セット= utf8mb4
- [client]タグの下に行を追加します
デフォルトの文字セット= utf8mb4
7.設定が成功したかどうかを確認します
ご覧のとおり、文字セットは正常に変更されています。次に、次のように、データテーブル内の中国語の文字化けしたデータが解決されているかどうかを確認します。
正常に解決しました!
記事の外に問題がある場合は、著者に非公開で書き込むことができます。