Home > database, 杂七杂八 > 数据库备份导入乱码问题

数据库备份导入乱码问题

备份数据库时需要知道原来数据库的文件编码格式是什么。

show variables like “%character%”

看到的结果可能是latin1可能是gbk可能是utf8 代表着你在原来数据存储文字编码的格式,在备份时需要设定–default-character-set。不设定则默认时utf8

mysql执行导出

mysqldump -uyakjulycom -pxxxxx -h mysql.yakjuly.com –default-character-set=latin1 yakjuly_com > yakjuly_com.sql

这样在yakjuly_com.sql文件中 的中文内容就能显示正确。

那么再导入另外一个数据库

本地的数据库设定了 character-set是uf8 如果直接source则在数据库中仍然显示乱码

原因是在yakjuly_com.sql内容的开头有定义

/*!40101 SET NAMES latin1 */;

把latin1替换为utf8 保存,然后再创建数据库source该文件或 执行

mysql -uroot -p –default-character-set=utf8 -f yakjuly_com < yakjuly_com.sql

这样数据库中的中文就显示正确了

 

Categories: database, 杂七杂八 Tags:
  1. No comments yet.
  1. No trackbacks yet.