完全相同的MySQL表结构/数据,相同查询的结果不同-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

完全相同的MySQL表结构/数据,相同查询的结果不同

保持可爱mmm 2019-11-18 11:57:15 109

这是我的情况。

我正在从一台服务器迁移到另一台服务器。作为其中的一部分,我将遍历数据库数据。

我使用校验和来验证数据,所以我知道它是相同的。此外,我在新旧主机上创建了一个隔离的表,并将单行移到了那里。两个表中的校验和匹配,表明原始数据在字节级别上应该完全相同。

CHECKSUM TABLE test 我已经检查了结构,它也完全一样。

SHOW CREATE TABLE test 该字段的类型:

item varchar(32) COLLATE utf8_unicode_ci NOT NULL 原始数据如下所示(在两种情况下,我都将其显示):

§lO 但是,当我使用简单的查询在PHP中检索它时:

SELECT * FROM test 在旧服务器/主机上,我得到以下原始字节序列:

-194-167-108-79-

在新服务器上,开始时我得到了几个额外的字节:

-195-130-194-167-108-79-

为什么在两台服务器之间完全相同的原始数据,表结构和查询会返回不同的结果?我应该怎么做才能确保将来的结果尽可能一致?

问题来源于stack overflow

关系型数据库 MySQL PHP 数据库
分享到
取消 提交回答
全部回答(1)
  • 保持可爱mmm
    2019-11-18 11:57:23

    §lO是的“ Mojibake” §lO。我认为后者(3个字符)是“正确的”吗?

    原始数据如下所示(在两种情况下,我都将其显示)

    是伪造的,因为用于显示它的技术可能与编码混淆了。

    由于3个字符变为4,然后变为6,因此您可能具有“双重编码”。

    这讨论了“双重编码”如何发生: UTF-8字符有问题;我看到的不是我存储的

    如果您提供了更多信息(CREATE TABLE,十六进制,迁移数据的方法等),我们也许可以进一步弄清您遇到的麻烦。

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程