保存订单存入数据库时,报错:

"\n### Error updating database.  Cause: java.sql.SQLException: Incorrect string value: '\\xF0\\x9F\\x8C\\xB8 \\xE5...' for column 'receiver_name' at row 1\n### The error may exist in class path resource [ibatis/xxx/t_xxx_mapper.xml]\n### The error may involve insert-Inline\n### The error occurred while setting parameters\n### SQL: INSERT INTO......\n### Cause: java.sql.SQLException: Incorrect string value: '\\xF0\\x9F\\x8C\\xB8 \\xE5...' for column 'receiver_name' at row 1\n; uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect string value: '\\xF0\\x9F\\x8C\\xB8 \\xE5...' for column 'receiver_name' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\\xF0\\x9F\\x8C\\xB8 \\xE5...' for column 'receiver_name' at row 1"


原因:
这个错误是因为数据库字段的charset是utf8,但却插入了含有四个字节单位的字符引起的,通常是emoji表情。
如图:

设置数据库编码格式,表编码格式和字段编码格式的时候,一般设置为“utf-8”,这对于汉字来说足够了,在mysql中utf8占3个字节,但是对于移动端的特殊表情符号来说,三个字节是不够的,他需要四个字节。这个时候我们使用utf8就会出现‘\xF0\x9F\x8F\x80’的问题

解决:
将包含表情的字符先进行转码(表情转字符),转成普通字符存入数据库中,在显示到页面的时候再进行一次转码(字符转表情)

步骤:
step 1: maven项目导入依赖

<dependency><groupId>com.vdurmont</groupId><artifactId>emoji-java</artifactId><version>3.2.0</version>
</dependency>

step 2: 调用方式:

EmojiParser.parseToAliases(“receiverName”); 将表情符号转为字符
EmojiParser.parseToUnicode(“receiverName”); 将字符转为表情符号

已解决Cause: java.sql.SQLException: Incorrect string value: ‘\\xF0\\x9F\\x8C\\xB8 \\xE5...‘报错相关推荐

  1. 终极解决MySql: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x8C\x9D\xF0\x9F...‘ for column

    1.异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\x9D\xF0\x9F...' for column '' at r ...

  2. java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x90\xB1\xF0\x9F...‘解决

    mysql 字符存在表情包 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xB1\xF0\x9F-' for column ...

  3. 解决 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数据库字符串不兼 ...

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

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

  5. 【日常Exception】第二十七回:Caused by: java.sql.SQLException: Incorrect string value: ‘\xF0\xAC\x8C\x97\xE7\x

    热门系列: 程序人生,精彩抢先看 日常异常,是否也有你似曾相识的那一个 1.异常信息 Caused by: java.sql.SQLException: Incorrect string value: ...

  6. ### Cause: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x96\x8B \xE7...‘ for column ‘con

    目录 前言: 插入数据库异常报错信息如下,xshell服务器后台抓取的异常信息 插入失败原因,原因定位说明 数据库配置操作命令,解决方案一 java层面的最简洁的解决方案二[推荐] 网上一些其他的方案 ...

  7. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E' for column 'nick' at row 1

    mysql报错:  java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E' for column 'nick' at r ...

  8. 【MySQL】Java.sql.SQLException Incorrect string value: \xF0\x9F\x98\x8D\xE8\xBE...

    1.背景 因为用markdown写入的文件,现在要导入到mysql数据库,但是导入的时候报错如下. 原因是该种字符串为Emoj表情内容,每个字符占用4个字节,在Mysql中默认最大支持3个字节,超长了 ...

  9. springboot结合Hikari连接池出现java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x8F\x98\xEF\xB8...‘

    原因 数据库存入表情一个字符为四个字节,前提数据库设置成utf8mb4,这里不做介绍. 查看语句: SHOW VARIABLES WHERE Variable_name LIKE 'character ...

最新文章

  1. “极致”神话和产品观念_转自“蜗窝科技”
  2. .NET智能客户端(SmartClient)
  3. tomcat源码分析(一)初始化---Debug方式
  4. numpy常用函数(power、sum、tile、transpose等)
  5. CentOS7部署Flask+Gunicorn+Nginx+Supervisor
  6. HTML 4.01 规定了三种文档类型
  7. GDOI2015 解题报告
  8. [Ubuntu] ubuntu20.04 安装 Mendeley
  9. python 函数图解_Python函数说明(一)
  10. 英文书: Python 网络编程基础手册
  11. MySQL5.6安装流程(MySQL入门)
  12. 体验谷歌菜市场镜像版
  13. 兵以诈立 —— 三国的谋略
  14. 【自用】图像算法、计算机视觉面试问题及答案1.0
  15. Java 逐行读写 TXT 文件
  16. 《辛雷学习方法》读书笔记——第三章 身体
  17. VisionPro初始化 - C#
  18. BeanCurrentlyInCreationException异常分析及解决
  19. 027-Mac触摸板实现窗口移动
  20. 网格平滑基础算法总结

热门文章

  1. Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)
  2. 分享做LOGO 的方法和思维方式 -liuleihai
  3. linux远程连接工具
  4. Linux下安装Tomcat启动报错
  5. 15 -Flask构建弹幕微电影网站-基于角色的访问控制
  6. AI设计师“鲁班”进化史:每秒制作8000张双11海报,没一张雷同!
  7. OVH公司进军英国数据中心市场
  8. Ext JS 4预览:重构和规范渲染过程()
  9. C语言中标准输入流、标准输出流、标准错误输出流
  10. ASP.NET State Service