美文网首页
【转载】Mysql 不可见字符E280AA和E280AC(华为手

【转载】Mysql 不可见字符E280AA和E280AC(华为手

作者: beihuang | 来源:发表于2019-09-30 16:07 被阅读0次

Mysql 不可见字符,使用like可以查询到,使用等于号查询不到。前后不可见字符E280AA和E280AC.

数据库和表编码:utf8mb4

先看个有问题的SQL,这个SQL看着是真没有问题。执行也能正常进行更新。

1[sql]

UPDATE`t_member` SET`phone` = '159XXXX3048'WHERE`id` = 1

但是更新后,使用以下语句就是查不到

1[sql]

select* fromt_member wherephone = '159XXXX3048';

使用like '%159XXXX3048%'就能查询到,所以博主怀疑是前后有不可见字符。 那么如何确定呢

拷贝上边update语句的手机号,我们一个一个的进行删除,你就会发现前后会多出一次回车,都是在单引号里边

1[sql]

'159XXXX3048'

好了,废话不多说,我们来看看这个不可见字符是什么吧

执行一下以下语句

1[sql]

selecthex(phone) fromt_member whereid = 1;

打印字符为

1[plain]

E280AA3135395858585833303438E280AC

然后我们将结果保存下来,等会对比一下

我们现在执行一下正常的手机号,update语句

1[sql]

UPDATE`t_member` SET`phone` = '159XXXX3048'WHERE`id` = 1

再执行一下以下语句

1[sql]

selecthex(phone) fromt_member whereid = 1;

观看结果

1[plain]

3135395858585833303438

我们将结果对比一下

1

2

[plain]

E280AA3135395858585833303438E280AC

      3135395858585833303438

是不是发现前后各有一串字符,E280AA 和 E280AC

其实这俩是个十六进制字符,我们使用系统自带计算器将其转换成十进制字符,然后替换就可以解决了。

比如下图,我的转换方式

如上图所示:点击10,转换成 14844074,相同,E280AC 转换成 14844076

然后使用下边的语句进行替换。

1[sql]

updatet_member setphone = replace(phone, CHAR(14844074),''), phone = replace(phone, CHAR(14844076),'') whereid = 1;

替换后我们再查询就没问题了。

至于为什么会发生这种情况,博主初步分析是华为手机自带邮箱客户端拷贝的问题。

原文

相关文章

  • 【转载】Mysql 不可见字符E280AA和E280AC(华为手

    Mysql 不可见字符,使用like可以查询到,使用等于号查询不到。前后不可见字符E280AA和E280AC. 数...

  • Mysql数据类型介绍和简单使用

    MySql-2 1.1字符集 字符集:可见字符在保存和传输的时候对应的二进制代码集合。 字符集在两个地方用到 1....

  • 字符集与校对规则

    MySQL字符集及校对规则的理解 阅读目录:MySQL的字符集和校对规则 MySQL的字符集 MySQL与字符集 ...

  • MySql数据库更改默认字符集

    由于mysql的默认字符集是latin1,无法存放中文和emoji表情,所以需要更改默认的字符集设置。 转载请注明...

  • MySQL常见问题汇集

    字符集mysql 字符集(CHARACTER SET)和校对集(COLLATE)mysql 中 character...

  • Mysql--字符集和比较规则

    Mysql--字符集和比较规则 具体细节 请去掘金购买《MySQL 是怎样运行的:从根儿上理解 MySQL》 字符...

  • Mysql全备、增量备份及恢复

    Mysql字符集 MySQL数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念,...

  • MySQL学习笔记

    MySQL MySQL常用数据类型 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型...

  • linux || 不可见字符

    不可见字符 1.windos和linux文件转换 unix2dos 和 dos2unix 显示不可见字符 或者vi...

  • 再次学习编码

    Ascii Ascii编码表共128个字符 前32个被称为不可见字符 后96个被称为可见字符 相对可见 不可见字符...

网友评论

      本文标题:【转载】Mysql 不可见字符E280AA和E280AC(华为手

      本文链接:https://www.haomeiwen.com/subject/leeyjctx.html