ラクラク日記

何のために生きていくのかの答えを見つけるために

Mysqlを使って、DBだけ文字化け(画面はちゃんと正しく日本語表示してる)の問題は、skip-character-set-client-handshakeで解消できる。その方法で、すでに文字化けになってる環境で使うと、DBにはまだ文字化けのままで、画面にも’???’になってしまう。解決方法今日一つ見つかった。

まずMysqlからデータをダンプする。

mysqldump -u root -p test_db −−default-character-set=latin1 > test_db.sql

そして、ダンプ結果のtest_db.sqlを開いて、中の

/*!40101 SET NAMES latin1 */;


/*!40101 SET NAMES utf8 */;

に修正する。

最後は、

mysql test_db -u root -p < test_db.sql

を使って、データを元のところにインポートする。

そういう方法で、既存の’???’になってるDBを正常状態に戻ることができる。従って、skip-character-set-client-handshakeの設定があれば、プログラムも文字化けなものをDBに入れない。