微信emoji表情编码 、MySQL 存储 emoji 表情符号字符集

相关资料

微信emoji表情编码php

微信用户名显示「emoji表情」html

PHP处理微信中带Emoji表情的消息发送和接收(Unicode字符转码编码)mysql

MySQL 存储emoji表情sql

MySQL 存储 emoji 表情符号字符集数据库

 

遇到的问题

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

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

数据库/数据表/表字段 的字符集为 utf8_general_ci,根据上面的“相关资料”,须要作些以下处理:微信

一、把 PHP 链接 MySQL 的字符集 由 utf8 改成 utf8mb4;

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

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

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

产生的结果

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

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

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

 

总结

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

 

相关文章
相关标签/搜索