windows中mysql5.7保存emoji表情】的更多相关文章

1.找到my.ini文件,修改一下配置: [client] default-character-set=utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' [mysql] default-character-set=utf8mb4 注意…
问题分析 在微信开发过程中,总是会遇到带有emoji表情昵称的微信用户无法自动登录的问题. 后台代码抛出类似下面的异常信息. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.MysqlIO.c…
本博客的记录的操作在linux 项目中需要从微信获取授权来登录,在此过程,保存微信emoji表情昵称到mysql数据库的时候出了错误. 老规矩百度一下,得知是mysql的utf8字符集只支持1-3个字节的字符,而表情则需要4个字节,所以mysql提供了一个utf8mb4字符集,在支持4个字节的同时又可以完美兼容utf8,免去我们的后顾之忧. 百度大部分的步骤是这样的,1-3步骤可以使用命令也可以使用工具(例如Navicat)来完成. 1:修改数据库字符集: (1) 命令方式:ALTER DATA…
1.将就的方法已找到,在保存前,Emoji表情字符串进行utf-8编码,然后写入数据表的nvarchar(max)字段,取出时再进行解码即可. c#的写法如下: 写入数据表前编码: string sHfContentEn = System.Web.HttpUtility.UrlEncode(m_DynamicBack.sHfContent, System.Text.Encoding.UTF8); 读取数据表后还原: shfcontent = System.Web.HttpUtility.UrlD…
  java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at com.mysql.jdbc.MysqlIO.…
我们在实际的开发中经常需要用到EditText 但是有一个不好的地方就是我们在前端用EditText输入了带有emoji表情的字符串之后 服务器是无法识别的,这就需要我们前端根据需求来决定表情的去留,如下提供了一个检测当前输入的字符串中是否含有emoji表情,可以写成工具类之后方便调用. /** * 检测是否有emoji表情 * * @param source * @return */ public static boolean containsEmoji(String source) { in…
解决办法:将3个字节的特殊字符与emoji表情替换掉即可. $nickname = preg_replace('/xE0[x80-x9F][x80-xBF]'.'|xED[xA0-xBF][x80-xBF]/S','?', $nickname ); $nickname = preg_replace('/\xEE[\x80-\xBF][\x80-\xBF]|\xEF[\x81-\x83][\x80-\xBF]/', '', $nickname);…
何为emoji表情?这里的全是. MySQL数据库为什么不能存储emoji?不是MySQL不能,而是MySQL的utf8编码不能!原来MySQL下的utf8编码每个字符占3个字节,而emoji占4个字节,所以存储不了. 解决方法: 1. 修改数据库编码(本人没有测试过,具体操作步骤自行百度) 2. 转义 转义的方法有好多种,我这里用的是json转换. /************ json存放 ******************/ $content = "这是一个微信文本消息…
报错信息 : Incorrect string value: '\xF0\x9F\x99\x85\xE2\x80...' for column 'content' at row 1 mysql数据库的默认字符集utf8,只能存储3个字节的数据,标准的emoji表情是4个字节,所以要使用utf8mb4兼容四个字节 解决办法 1. 将表字段字符集设置成utf8mb4 修改库的字符集 alter database 库名 character set utf8mb4 collate utf8mb4_gen…
1.先去MySQL官网下载.当前最新版是5.7.19,可能安装方法不同了,本人测试没有安装成功,若有安装成功的朋友,希望分享一下安装步骤. 个人推荐下载MySQL5.7.17,官方下载网址:https://downloads.mysql.com/archives/community/,然后选择5.7.17然后下载即可. 2.将下载的压缩包解压出来,然后在"MySQL解压目录"中新建"data"文件夹.如下图: 3.将"my-default.ini"…