MySQL データを追加するときに中国語が認識されない。どうしたらいい?
MySQLが文字を適切に認識していない場合、データベースの文字セットの設定が正しくない可能性があります。解決方法は次のとおりです。
- データベースの文字コードを変更する:次のコマンドを使用してデータベースの文字コードをutf8またはutf8mb4(より多くのUnicode文字に対応)に変更できます。
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- テーブルの文字セットは、次のコマンドを使用して utf8 または utf8mb4 に変更できます。
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 文字コードの変更:次のコマンドを使用して、文字コードを utf8 または utf8mb4 に変更できます。
ALTER TABLE table_name MODIFY column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
データベース名、テーブル名、列名を適宜置き換えてください。
さらに、データベースに接続する際に使用されるエンコーディングも適切であることを確認してください。データベースに接続する前に、次のコマンドを使用して、接続の文字セットをutf8またはutf8mb4に設定することができます。
SET NAMES 'utf8mb4';
もしMySQLクライアントツールを使用する場合は、クライアントツールの文字コードが適切に設定されていることを確認してください。
データベースにデータを再インポートする前後に以下の手順が必要になる場合があります。データの損失を防ぐために、再インポート前に既存のデータをバックアップしてください。