我在将utf8数据库迁移到另一台服务器时遇到问题...每个源表和目标表都有一个"DEFAULT CHARSET=utf8"。
我使用mysqldump来转储数据,使用mysql < file.sql来导入,但是当我在源表中有“Espa”时,在目标表中我会得到“espa±a”。
我阅读了一些指南,我使用--default-character-set=latin1导出和导入,但问题仍然存在。我也尝试了一个--default-character-set=utf8来导入,但是结果是:"Espa",数据被截断到第一次出现多字节字符的时候。
我需要帮助!
提前谢谢你
发布于 2011-04-21 18:38:45
确保客户端设置为UTF8是非常重要的。令人困惑的是,这与将数据库设置为UTF8不同。打开/etc/my.cnf并确保您在mysql下设置了default-character-set = utf8,而不仅仅是在mysqld下
现在,您应该能够将UTF8转储直接传输到mysql客户端。我还建议在mysqldump命令中使用--hex-blob选项,因为mysqldump并不完美。
发布于 2010-03-07 21:29:53
试一试
iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./file >file.utf8
mysql --default-charset=utf8 < file.utf8 如果它不工作,我建议您导入数据,然后转换它
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;希望能有所帮助
发布于 2009-12-18 20:04:43
每个表的collation是多少?在我看来,第二张表的编码仍然是ISO-8859-1或类似的。
另外,您使用什么工具来查看目标数据?您确定该工具使用的连接也是UTF-8吗?
https://stackoverflow.com/questions/1927828
复制相似问题