博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信emoji表情编码 、MySQL 存储 emoji 表情符号字符集
阅读量:4579 次
发布时间:2019-06-08

本文共 618 字,大约阅读时间需要 2 分钟。

相关资料

 

遇到的问题

项目中有个 H5页面 聊天模块,当用户输入 emoji表情符时,插入数据表时报错

incorrect string value: '\xF0\x9F\x98\x84' for column 'content' at row 1

数据库/数据表/表字段 的字符集为 utf8_general_ci,根据上面的“相关资料”,需要做些如下处理:

1、把 PHP 连接 MySQL 的字符集 由 utf8 改为 utf8mb4;

ThinkPHP框架中,改下 配置文件 /ThinkPHP/Conf/convention.php 的 DB_CHARSET 为 utf8mb4 (默认为 utf8);

2、把 聊天记录表的 聊天内容字段的 字符集改为 utf8mb4_general_ci

注意:数据库、数据表 的字符集都不用改,只改 聊天内容字段 即可!

产生的结果

1、数据表能正常存储 emoji表情;

2、微信(浏览器)的 苹果版 可以输入和显示 emoji表情,而 安卓手机输入时,乱码,但可以显示部分的 由苹果手机输入的 emoji表情;

3、在 最新的 PC 端的 Chrome 56 浏览器上,可以 正常输入和显示 emoji表情;

 

总结

平常新建数据库时,选择字符集 utf8mb4_general_ci

 

转载于:https://www.cnblogs.com/52php/p/6376706.html

你可能感兴趣的文章
联想小新Air 15 安装黑苹果macOS High Sierra 10.13.6过程
查看>>
公共POI导出Excel方法–java
查看>>
次短路——Dijkstra
查看>>
站立会议总结08
查看>>
动态代理
查看>>
中小企业实施OA的意义
查看>>
caller和callee的解析与使用-型参与实参的访问
查看>>
Enter Query Mode Search Tricks Using Enter_Query Built-in in Oracle Forms
查看>>
Form属性、内置子程序、触发器、系统变量
查看>>
广州夜景一
查看>>
linux编译安装python3和安装django
查看>>
PHP数组对象互转
查看>>
JVM(2)--一文读懂垃圾回收
查看>>
iOS ERROR: unable to get the receiver data from the DB 解决方式
查看>>
游戏开发——战斗系统设计技巧
查看>>
Android ROM 制作教程
查看>>
Android模拟器使用SD卡
查看>>
新手Oracle安装及使用入门
查看>>
帝国cms灵动标签下常用标签
查看>>
STL学习笔记(关联式容器)
查看>>