为什么同样的sql语句(插入emoji字符),两次执行结果却不同?
为什么同样的sql语句,两次执行结果却不同,如下所示:
因为该死的编辑器不支持表情符号,只好截屏了.
第一条sql中的data内容是从网站(/)中copy过来的,
第二条sql是直接在命令行中复制第一条sql,data就变成字面值了.
不明白其中缘由? 有办法可以看出这两条语句背后的区别吗?
查看query log的话,能看到不同,如下所示:
对应的SQL为:
对应的查询日志为:
当从网站上复制Emoji字符到Mysql终端交互界面中时,可能是通过操作系统来自动对其进行了转码,虽然显示为\U+1F600,但实际内容可能是转码后的utf8mb4内容了,但若直接在终端中复制第一个sql的内容的话,那就只能是复制的字面值了.但尚不知如何让两者背后的区别显式化.
set names utf8mb4;}