• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MYSQL utf8mb4 插入emoji表情乱码

php 搞代码 3年前 (2022-01-23) 16次浏览 已收录 0个评论
文章目录[隐藏]

<body>

关于MYSQL utf8mb4字符串集的问题。

表结构如下:

如下代码:

<code class="php">$db     = new mysqli('x', 'xxx', 'xxxxx');$db->select_db('xxx');$db->set_charset('utf8mb4');//这里是一个emoji表情$contents = <<query($sql);print_r($db->error_list);echo "\t\n";exit();</code>

但是入库后,是一个? 如下图:

求解决。

本&文来源gao@daima#com搞(%代@#码网@

回复内容:

<body>

关于MYSQL utf8mb4字符串集的问题。

表结构如下:

如下代码:

<code class="php">$db     = new mysqli('x', 'xxx', 'xxxxx');$db->select_db('xxx');$db->set_charset('utf8mb4');//这里是一个emoji表情$contents = <<query($sql);print_r($db->error_list);echo "\t\n";exit();</code>

但是入库后,是一个? 如下图:

求解决。

这样是对的。
说下前提,utf8mb4和utf8的区别就是utf8才用3位字节码存储数据,而utf8mb4用4位字节码存储数据。
emoji表情是4位字节码通过前段转义出来的,它本身是不可读的字符,所以在数据库客户端中会显示“?”。
在前端支持emoji的地方就会显示emoji表情。

确定下客户端是否支持utf8mb4,最好使用的时候 set names下。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MYSQL utf8mb4 插入emoji表情乱码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址