23
8 月
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に入れない。