LoginSignup
16
25

More than 5 years have passed since last update.

[MySQL] EUCから→UTF8へデータ移行メモ_φ(・・*)

Posted at

文字コードの違いによるめんどうがあったので、メモあっぷ☆
(エンジニアかけだしなので、お気づきの点あれば、コメントおねがいします(> < ))

まずは、移行データが重かったのでテーブルを指定してちょっとずつエクスポート
$ mysqldump -u username -p --database dbname —table tablename > dbname-tablename.dump

ファイルの文字コード変換
$ nkf -wE dbname-tablename.dump > dbname-tablename_utf8.dump

※nkf
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230849/

ファイル内の「ujis」を「utf8」に全て置換する。
$ sed -e 's/ujis/utf8/g' dbname-tablename_utf8.dump > dbname-tablename_output_utf8.dump

※sed
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230879/

必要あればエラーになる余分な------等をvimで削除
(前のVersionが古かったのでdumpされる中にエラーコメントが入っちゃうようでした)
$ vi dbname-tablename_output_utf8.dump

インポート先に入る
$ mysql -u username -p

インポート先にutf8をセットしてデータベース作成
mysql>CREATE DATABASE dbname DEFAULT CHARACTER SET utf8;
mysql>exit

$ mysql -u username -p dbname < dbname-tablename_output_utf8.dump

DBをひらいて確認して文字化けしてない&PHP等で出力して文字化けしてなかったらOK!

+α
環境の文字コードも確認
参考:文字コードの設定(default-character-set) - オプションファイル(my.ini/my.cnf) - MySQLの使い方
http://www.dbonline.jp/mysql/myini/index3.html

※参考
あなたと私のインナースペース - MySQLの文字コードをEUC-JPからUTF-8に変換する。
http://voicetwo.selfip.com/yashikiba/blog/item_112.html

16
25
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
25