首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL集合名称-工作机制解释?

问MySQL集合名称-工作机制解释?
EN

Stack Overflow用户
提问于 2013-05-29 04:29:59
回答 1查看 129关注 0票数 0

我最近在将latin1_swedish数据库导入新数据库时遇到了问题。Somone开发了用于存储Latin2字符的Latin1数据库。这一切都在工作,直到我做了数据库转储,并想要导入到另一个数据库。

这真的很复杂。最后,我将sql转储更正为正确的ISO-8859-2编码文件,并正确显示所有字符。仍然无法使用Latin2编码导入到表中,所有特殊字符都丢失(可能是PHPMyAdmin错误?)。

将文件转换为UTF-8编码,并将表编码更改为utf8_general_ci,可以正确地导入所有内容。

接下来,整个PHP站点使用并显示ISO-8859-2字符(它以前的PHPBB论坛)。

当连接到数据库时,我使用"SET NAMES latin2“命令来更改编码。

令我惊讶的是,页面显示为正确的ISO-8859-2。

如果table为UTF-8,且集合名称为latin2。在返回字符之前,MySQL connection是否将字符转换为MySQL-8859-2?

(我不知道我该不该全部写下来。如果我放了太多不需要的信息,请编辑它)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-29 05:43:00

SET NAMES有效地设置了数据在存储之前或在回调之后、在呈现给客户端之前如何转换。对于存储,列的字符集定义是最终的决定因素(如果它与表和数据库字符集定义不同)。请参阅这篇关于encoding in MySQL的内容丰富的博客文章。

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

https://stackoverflow.com/questions/16800931

复制
相关文章

相似问题

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