手头上有一台mysql数据库服务器,因为历史原因,mysql数据库的字符编码为latin1,但PHP程序使用的是utf8字符编码,所以磨途歌每次从mysql数据库中读取数据,都得向mysql数据库发送设置字符集的命令:mysql_query("SET NAMES latin1");
虽然PHP通过设置字符编码能解决乱码问题,但是用phpmyadmin浏览mysql数据库,中文依然显示为乱码,很不方便管理。
最近在整理服务器,备份好mysql数据库后,就开始动手转换mysql数据库字符编码,把latin1编码的数据转成utf8编码:
一)用mysqldump工具导出数据库mysqldump --all-databases --default-character-set=latin1 -u root -p > all_db.sqlmysqldump --databases mo2g --default-character-set=latin1 -u root -p > mo2g.sqlmysqldump参数mysqldump参数说明
--all-databases导出mysql数据库服务器上所有的数据库
--databases导出mysql数据库服务器上指定的数据库
--default-character-set设置连接mysql数据库服务器的字符编码
-u设置登录mysql数据库服务器的用户名
-p如果用户名的密码不为空,必须添加该参数
-E合并insert,能有效压缩sql文件大小
-R备份存储过程
-d不导出数据
-t不导出表结构
二)修改导出的sql文件,有点类似下边,虽然mo2g这台服