Page 1 of 1

MySQL database migration from Latin1 to UTF8

Posted: 2014-06-27, 16:18
by Almas
MySQL database migration from Latin1 to UTF8

Өнөөдөр хуучин блогоо зөөж байтал нэгэн асуудал гарлаа. Учир нь блог маань юникодоор бичигдэж байсан ч latin1 тэмдэгт кодчлолоор өгөгдлийн санд хадгалагдсан байжээ. Ингээд нөгөө арзайсан бичвэрээ UTF8 болголоо. Энэхүү аргыг би үргэлж хэрэглэдэг бөгөөд хэрэглэх хэрэгцээ их гардаг тул энд бичлээ.

# mysqldump -u dbuser -pdbpass --opt --skip-set-charset --default-character-set=latin1 --skip-extended-insert databasename > database.sql
# sed -i 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/g' database.sql // эсвэл perl -i -pe 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/' database.sql гэсэн ч болно.
# sed -i '1i SET NAMES utf8;' database.sql // эсвэл ямар нэг засварлагчаар vi database.sql гэдэг ч юм уу нээгээд толгойд нь "SET NAMES utf8;" гэсэн мөр нэмнэ.
# cat database.sql | mysql -u dbuser -pdbpass

Ингээд л боллоо.

http://www.badral.net/?p=127