相关资料

微信emoji表情编码

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

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

MySQL 存储emoji表情

MySQL 存储 emoji 表情符号字符集

遇到的问题

项目中有个 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

微信emoji表情编码 、MySQL 存储 emoji 表情符号字符集的更多相关文章

  1. MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)

    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545} span.s1 {font: ...

  2. mysql存储emoji表情报错的处理方法【更改编码为utf8mb4】

    utf-8编码可能2个字节.3个字节.4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符.如果直接往采用utf-8编码的数据库中插入表情数据,Java程 ...

  3. mysql存储emoji表情

    微信获取的用户昵称nickname中带有emoji表情,转换成字符码后是这种形式“\xF0\x9F\x91\x8D\xE6\x94...”, 直接保存可能出现以下错误 Caused by: java. ...

  4. 一个emoji引发的一条血案:mysql存储emoji表情字符时报错解决

    以下是我插入一条带表情的数据到mysql后出现错误 2019-03-04 14:24:40,462 ERROR 2807 [-/139.199.27.244/-/2ms POST /api/activ ...

  5. mysql存储emoji表情报错处理,qq互联mysql存储昵称中带表情的数据时报错。

    前言 做qq互联登录时发现一个问题,如果qq昵称中有表情时存入mysql数据库会报错. java.sql.SQLException: Incorrect string value: "ð&q ...

  6. Sequelize+MySQL存储emoji表情

    一.原因 mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情.但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持em ...

  7. php解决微信开发中用户昵称中的特殊字符与emoji表情写入mysql错误的问题

    解决办法:将3个字节的特殊字符与emoji表情替换掉即可. $nickname = preg_replace('/xE0[x80-x9F][x80-xBF]'.'|xED[xA0-xBF][x80-x ...

  8. mysql存储emoji问题

    前一段时间,项目中需要在数据库中存储emoji,由于编码格式不对,直接导致数据库报错,后来修改mysql的编码,就解决了 emoji符号实际上是文本,并不是图片,它们仅仅显示为图片 在mysql5.5 ...

  9. emoji表情字符串 mysql 普通 utf8 格式无法存入

    处理方法: 1.在可以忽略emoji表情的情况下,可以选择将emoji表情字符过滤掉,这样不用动mysql 表结构    过滤Java代码参考如下: public static String filt ...

随机推荐

  1. opencv附加依赖性选择,提示找不到opencv_world400d.dll

    连接器>>输入>>附加依赖项,添加opencv_world400d.lib库文件名,在....\opencv\build\x64\vc14\lib有2个lib文件, 带d的是d ...

  2. spring如何管理mybatis(一) ----- 动态代理接口

    问题来源 最近在集成spring和mybatis时遇到了很多问题,从网上查了也解决了,但是就是心里有点别扭,想看看到底怎么回事,所以跟了下源码,终于发现了其中的奥妙. 问题分析 首先我们来看看基本的配 ...

  3. mybatis介绍——(一)

    官方API:http://www.mybatis.org/mybatis-3/index.html 中文: http://www.mybatis.org/mybatis-3/zh/index.html ...

  4. Servlet笔记11--补充

    Servlet线程安全问题: 代码示例: package com.bjpowernode.javaweb.servlet; import java.io.IOException; import jav ...

  5. 消息监听器无法注入bean

    问题描述: 在activemq的监听器中,通过注解@Autowired或@Resource注入bean时,获取到的bean为null.调用该bean的方法时会报空指针异常. 问题原因: 当调用bean ...

  6. 八、vue使用element-ui组件

    element-ui组件 1.引入element import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element- ...

  7. VS Code折腾记 - (4) 常用必备插件推荐【前端】

    前言 这篇文章只要让你做一些基础的配置,把vscode变得更加顺手: 插件的需求不是一成不变,有些插件我已经移除了..在最新的VSCODE 1.9.1中, 部分以前用插件实现的功能已经集成了,那就没有 ...

  8. ***PHP $_FILES函数详解 + PHP文件上传 move_uploaded_file() 参数的正确写法

    PHP $_FILES函数详解 在PHP中上传一个文件建一个表单要比ASP中灵活得多.具体的看代码. 如:  复制代码代码如下: <form enctype="multipart/fo ...

  9. Hive的安装和使用

    1.Hive1.1 在hadoop生态圈中属于数据仓库的角色.他能够管理hadoop中的数据,同时可以查询hadoop中的数据. 本质上讲,hive是一个SQL解析引擎.Hive可以把SQL查询转换为 ...

  10. 002 @RequestMapping的说明

    一:修饰方法 1.举例 2.效果 二:修饰类 1.测试类 2.index.jsp 3.效果 ---------------- 三:映射请求请求方法 1.使用语法 分别是method 2.Method的 ...