mysql導入導出データ中国語の文字化けの解決方法のまとめ
2740 ワード
linuxシステムではlinuxはデフォルトではutf 8符号化ですが、windowsはgbk符号化ですので、上の文字化けが問題になります。mysql導入によるデータの文字化け問題を解決するためには、まずあなたがデータをエクスポートするコードフォーマットを確定し、mysqldumpを使用する時は--default-character-set=utf 8を追加する必要があります。例えば、下記のコード:
mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql
ではデータを導入する際にも使用します。default-character-set=utf 8:mysql -uroot -p --default-character-set=utf8 dbname < bak.sql
で統一符号化してmysqlデータの移行中の文字化け問題を解決します。windowsを使ってデータソースを導出し、freebsd環境下のmysqlライブラリ解決方法を導入します。データをエクスポートします。まずwindowsプラットフォームの下でmysqlを使ってデータベースソースをエクスポートします。文字コードのシステム変数を表示します。setdatabase、ここはlatin 1で、latin 1は多バイトの文字セットを入れられない2、windowsの下でシステム変数をutf 8
mysql> show variables like ‘%char%';
+――――――――C+―――――――――-+
| Variable_name | Value |
+――――――――C+―――――――――-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | D:mysqlsharecharsets |
+――――――――C+―――――――――-+
の3に設定して、データを導出します。mysql>set character_set_database=utf8; ## utf8
はこの時に私の欲しい部分のデータを導出して、txtファイルでtable.txtの中に存在します。導入データは、freebsdプラットフォームの下で、同様に文字コードを設定するシステム変数mysql> select * from table into outfile ‘c:table.txt' where +
、転載データ
mysql> show variables like ‘%char%';
+――――――――C+―――――――――-+
| Variable_name | Value |
+――――――――C+―――――――――-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |
+――――――――C+―――――――――-+
mysql>set character_set_database=utf8; ## utf8
、これにより、条件データが完全に導入されて導出され、文字化けが処理された場合。つまり、2台のmysqlサーバーを導入してエクスポートする場合、必ず2台のサーバーのcharacterを確保してください。setdatabaseパラメータが同じであれば、文字化けが防げます。もちろん、他の文字セットも使用できます。gbkなどの調整もできます。状況に応じて、解決方法の三文字化処理方法を操作してデータを導入した後、コマンドラインで確認したら、中国語の文字化けは以下のコマンドでシステム文字セット mysql>load data local infile ‘/home/table.txt' into table `table`;
を確認します。もしGBKまたはUTF 8でないなら、mysqlサービスを停止し、インストールディレクトリにmy.iniファイルを修正して、ファイルの下の変数を以下のように変更します。この変数がない場合は、これらの変数show variables like 'char%';
を追加してサービスを再開し、データを再導入します。文字化けがある場合は、最後に経験があるときに導入とエクスポートのコードを統一すれば大丈夫です。