首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL UTF8数据库迁移

MySQL UTF8数据库迁移
EN

Stack Overflow用户
提问于 2009-12-18 20:02:38
回答 3查看 2.7K关注 0票数 2

我在将utf8数据库迁移到另一台服务器时遇到问题...每个源表和目标表都有一个"DEFAULT CHARSET=utf8"

我使用mysqldump来转储数据,使用mysql < file.sql来导入,但是当我在源表中有“Espa”时,在目标表中我会得到“espa±a”。

我阅读了一些指南,我使用--default-character-set=latin1导出和导入,但问题仍然存在。我也尝试了一个--default-character-set=utf8来导入,但是结果是:"Espa",数据被截断到第一次出现多字节字符的时候。

我需要帮助!

提前谢谢你

EN

回答 3

Stack Overflow用户

发布于 2011-04-21 18:38:45

确保客户端设置为UTF8是非常重要的。令人困惑的是,这与将数据库设置为UTF8不同。打开/etc/my.cnf并确保您在mysql下设置了default-character-set = utf8,而不仅仅是在mysqld下

现在,您应该能够将UTF8转储直接传输到mysql客户端。我还建议在mysqldump命令中使用--hex-blob选项,因为mysqldump并不完美。

票数 3
EN

Stack Overflow用户

发布于 2010-03-07 21:29:53

试一试

代码语言:javascript
复制
iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./file >file.utf8
mysql --default-charset=utf8 < file.utf8 

如果它不工作,我建议您导入数据,然后转换它

代码语言:javascript
复制
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

希望能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2009-12-18 20:04:43

每个表的collation是多少?在我看来,第二张表的编码仍然是ISO-8859-1或类似的。

另外,您使用什么工具来查看目标数据?您确定该工具使用的连接也是UTF-8吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1927828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档