プロが教えるわが家の防犯対策術!

mysqlのデータベースの文字コードの変換について教えてください。

テストサーバー環境で誤って文字コードUTF-8のデータベースを作成し、文字コードEUC-JPのデータを投入してしまいました。

それでもテストサーバー環境では文字化けせずにウェブアプリを表示できていましたが、テストサーバーのデータをエクスポートすると、テキストエディタで開いた時点で文字化けしています。
(文字コードはUTF-8、EUC-JPのいずれでも)

もちろんそのデータを本番サーバーにインポートしても文字化けしてしまいます。
(データベース文字コードはUTF-8、EUC-JPのいずれでも)

テストサーバーからデータをエクスポートする前に文字コードを変換することは可能でしょうか?

もしくは他に問題を解決する方法はありますでしょうか?

ご存知の方がいらっしゃいましたら教えてください。

A 回答 (1件)

MySQLだけでは、既に入れてしまったデータの文字コード変換は難しいのでは?


phpかperlかで、文字コードを、プログラムで判定して、必要な文字コードへ変換する作業を挟む必要があるでしょう。

大まかな作業手順
1.select * from table_name
で全項目全行取得(データが大きいなら、limitで適宜行数分割)

2.各行、各項目データの文字コード判定、変換

3.変換後データを、csvで書き出して、別の新しく作ったtable(本番サーバーなど)へLOAD DATA INFILE
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!