mysqlのインポートで文字化けする
mysqlで文字化けする。
ずっとutf8でやっていたが、eucの環境を構築しないといけなくなったのでやりました。
まずはデータベースをUTF8からeucに設定変更
$ vim /etc/my.cnf
utf8の所をujisに。
default-character-set=ujis skip-character-set-client-handshake character-set-server = ujis collation-server = ujis_japanese_ci
再起動
$ service mysqld restart
ujisでDBを作る
mysql > create database hoge default character set 'ujis';
いざインポート -> 文字化け
なんでだ・・
インポートの時に文字コード指定してみる
$ mysql -ufoo -p hoge default character set ujis < var.sql
だめでした
色々調べた結果、テーブルの文字コードがlatin1になっていた。
ダンプのテーブルに指定されたいた個所をすべてujisに置換。
大成功。
めでたしめでたし。
ちなみにeucって言ってるのにujisと書いてますが
ujisは日本語EUCの別名です。
おまけ
・DBの文字コードを調べる
mysql > show variables like 'character%';
・テーブルの文字コードを調べる
show create table table_name;\G