您的位置:首页 > 数据库 > MySQL

mysqldump的编码问题

2008-07-17 09:26 218 查看
mysqldump命令是MySQL数据提供的一个很方便的数据库备份工具,具体用法可以参见:http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html
这几天遇到一个问题,在使用该命令进行数据库同步时,数据库中的中文数据总会变为乱码。作为国际化项目,首先第一想到的就是编码问题。因为这些数据库在初始化时所有的SQL文件都是UTF-8,所以就理所当然的认为,应该在导出是使用--default-charact-set=UTF-8。可是问题依旧。
最后,重新仔细阅读了mysqldump的使用说明,发现:If no character set is specified, mysqldump from MySQL 4.1.2 or later uses
utf8
, and earlier versions use
latin1
. 由于项目中使用的数据库是4.1.13,那么就是说默认已经utf8,命令中设置编码作用根本没有起作用。第二天,从同事处传来好消息,将编码设置为latin1就可以了。于是赶紧拿来一试 ,果不其然,完全正确。于是想:由于数据库默认的编码是latin1,那么在数据库初始化时中文数据的编码已经被转化,只要使用数据库的默认编码导出即可。不知是否正确?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: