MySQL データベースへのインポートで文字化けが起こった場合の対処方法
文字化けが起こる原因は通常、文字コードの不一致です。以下に解決策を示します。
- インポートするファイルの文字コードが正しいか確認します。UTF-8で保存されている場合は、インポート時に文字コードをUTF-8で指定してください。
mysql -u username -p database_name < file.sql --default-character-set=utf8
- 現在のデータベースの文字コード設定を確認するには、次のコマンドを実行します。
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';
文字コードの設定が正しくない場合は、以下のコマンドで修正できます。
ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
- UTF-8で文字コードを指定するには、データを取り込む前に取り込みファイルの各テーブルの前に以下の記述を付け加えることができます
SET NAMES 'utf8';
- それでも解決しない場合は、iconvコマンドを使用してファイルを正しい文字コードに変換してみてください。たとえば、ISO-8859-1からUTF-8へ変換します。
iconv -f ISO-8859-1 -t UTF-8 file.sql > file_utf8.sql
変換されたファイルを読み込みます。
上記の方法で、MySQLのデータベースのインポート時の文字化け問題は解決できるはずです。