为什么同样的sql语句(插入emoji字符),两次执行结果却不同?

发布于 2021-11-27 10:37:21 字数 325 浏览 954 评论 2

为什么同样的sql语句,两次执行结果却不同,如下所示:

因为该死的编辑器不支持表情符号,只好截屏了.

第一条sql中的data内容是从网站(http://getemoji.com/)中copy过来的,

第二条sql是直接在命令行中复制第一条sql,data就变成字面值了.

不明白其中缘由? 有办法可以看出这两条语句背后的区别吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

输什么也不输骨气 2021-11-29 14:48:55

查看query log的话,能看到不同,如下所示:

对应的SQL为:

对应的查询日志为:

 

当从网站上复制Emoji字符到Mysql终端交互界面中时,可能是通过操作系统来自动对其进行了转码,虽然显示为U+1F600,但实际内容可能是转码后的utf8mb4内容了,但若直接在终端中复制第一个sql的内容的话,那就只能是复制的字面值了.但尚不知如何让两者背后的区别显式化.

德意的啸 2021-11-28 17:00:52

set names utf8mb4;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文