数据库备份导入乱码问题
备份数据库时需要知道原来数据库的文件编码格式是什么。
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
这样数据库中的中文就显示正确了