在使用富文本编辑器的时候,可以插入表情什么的,但是插入数据库报错:
Incorrect string value: ‘\xF0\x9F…’ for column ‘XXX’ at row 1
这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
utf8mb4和utf8区别如下:
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。

我的解决方案是这样的

要是使用阿里云服务器,则在阿里云配置界面修改配置即可,提交需要重启的,慎重!!!

1.在mysql的安装目录下找到my.ini,作如下修改:
[mysqld]

character-set-server=utf8mb4

[mysql]

default-character-set=utf8mb4

修改后重启Mysql

  1. 将已经建好的表也转换成utf8mb4
    命令:

更改数据库编码:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)

然后就OK了。网上流传的一个版本增加了一个步骤,就是把mysql环境变量将character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4,不过我没有做这一步,也正常,所以可能是这一步是多余的,如果需要改,则按照下面介绍做修改。

3修改mysql配置文件my.cnf(windows为my.ini)
my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=‘SET NAMES utf8mb4’

参考文章:

http://blog.csdn.NET/likendsl/article/details/7530979

Incorrect string value: '\xF0\x9F\x92\x98\xF0\x9F...'相关推荐

  1. Incorrect string value: '\xE7\xB3\xBB\xE7\xBB\x9F...' for column '字段名' at row 1,插入中文时...

    在创建数据库时指定字符集为utf-8 create database 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci 转载于:https ...

  2. mysql保存emoji报java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8B'

    最近在做即时聊天功能,需要支持 emoji 表情,测试直接发送时后台 mysql 数据库会报类似 java.sql.SQLException: Incorrect string value: '\xF ...

  3. Mysql 解决emoji表情处理问题 - Incorrect string value: ‘\xF0\x9F\x92\x94‘ for column

    Mysql 解决emoji表情处理问题 - Incorrect string value: '\xF0\x9F\x92\x94' for column 参考文章: (1)Mysql 解决emoji表情 ...

  4. 【Mysql】存储emoji表情报错(Incorrect string value: ‘\xF0\x9F\x98\x82\xF0\x9F...‘)的解决方案

    [Mysql]存储emoji表情报错(Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...')的解决方案 参考文章: (1)[Mysql]存储emo ...

  5. Incorrect string value: '\xF0\x9F\x98\x82' for column '' at row 1

    1.一般来说Mysql(小于5.5.3)字符集设置为utf8,指定连接的字符集也为utf8,django中save unicode string是木有问题的.但是,当字符串中有特殊字符(如emoji表 ...

  6. MySQL异常 #SQLException: Incorrect string value: ‘\xF0\x9F\x98\x84i...‘ for column

    1.异常现象 MySQL 插入 Emoji 表情异常:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x ...

  7. SQLSTATE[HY000]: General error: 1366 Incorrect string value: ‘\xF0\x9F\x98\x84‘ for column ‘content‘

    事件前瞻:由于学习workerman来做socket通讯,所以做了一个类似与客服的系统,图片什么的都能存,唯独存入输入法里面的表情,确报错,报错内容:SQLSTATE[HY000]: General ...

  8. 解决 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...'

    java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F-' 问题: 因为表情符号存入Mysql数据库字符串不兼 ...

  9. General error: 1366 Incorrect string value: '\xF0\x9F\x98\x8A' for column

    MYSQL错误: 今天向数据库插入一条数据时,有条数据的某个字段包含\xF0\x9F\x98\x8A字符,导致MYSQL数据库出现以下错误: General error: 1366 Incorrect ...

最新文章

  1. 应用 | 红黄蓝的虐童惨案,其实可以用机器学习等技术来避免
  2. SQL查找是否存在,别再count了!
  3. 双链表偶数节点求和java_java--删除链表偶数节点
  4. assign和always组合逻辑块,孰优孰劣?
  5. 单片机模块学习之键盘
  6. solaris 10 安装Apache Mysql PHP
  7. SaltStack 学习笔记 - 第六篇: 详解Pillar
  8. 【Flink】Flink kafka报错 Auto-commit of offsets failed for group Offset commit failed with a retriable
  9. 房租抵扣个税不用再填房东信息 房东这下放心了吗?
  10. 关系数据库、NoSQL和NewSQL数据库产品分类
  11. 支付宝“手机网站支付”开发的相关文档和工具
  12. zul ajax使用线程池
  13. 软考高项(信息系统项目管理师)计算题公式汇总
  14. 程序员也要学英语——限定词、形容词和副词
  15. 计算机常温环境,计算机CPU温度70度正常吗?电脑cpu常温简介
  16. Mesh减面算法详解
  17. idea断点里没有对号问题解决(断点是红色的里面没有对号)
  18. android电视识别多区u盘,【当贝市场】电视无法识别U盘APK文件终极方法
  19. win8 java不是内部或外部命令_win8系统运行java提示“ava不是内部或外部命令两种解决方法...
  20. 为什么说指针是 C 语言的精髓?

热门文章

  1. 计算机基础设计第十五套,计算机基础试题第十五套
  2. stm32mp157系统移植 | 移植ST官方5.10内核到小熊派开发板
  3. ZED相机 C# Api环境配置
  4. 有哪些事情是你学了计算机后才知道的?
  5. 关于eww的一个小问题
  6. 广东2021高考成绩几点查询,2021年广东高考成绩查询具体时间,几点钟可以查询
  7. 众巢医学将运用ChatGPT提升患者管理服务能力和体验;美华国际探索ChatGPT开发在线人工智能健康咨询服务 | 美通企业日报...
  8. Java面向对象思想以及原理以及内存图解
  9. unbuntu中C语言环境安装
  10. Linux系统中安装RabbitMq消息中间件CentOS8 yum install安装方式