今天在保存数据的时候mysql抛出了以下异常:

查了一下,发现是编码问题,本地数据库的默认编码是utf8,默认保存的是1到3个字节,但是现在的emoji表情采用4个字节保存,所以抛出异常。

环境:

操作系统:window10;

mysql版本:5.6.27;

解决的方法有好多,比如:

####1. 在程序中过滤emoji表情;
####2. 修改数据库编码为utb8mb4

我采用第二种方法解决:

先查看数据库编码:

接着打开数据库的配置文件, mysql5以上版本的配置文件放在ProgramData\MySQL\下,而不是安装目录,如果你不知道配置文件放在哪里,可以通过【服务】找到【mysql】服务,从启动参数中看出:

如果是第一次修改数据库编码,打开文件也不知道要修改哪个参数,不过,从上面查询的系统变量可以猜测,要修改的应该是【character_set_database】,在文件中只发现这个参数:

在文件开头有个网址,有点疑惑,于是打开这个网址看看:

#
# In this file, you can use all long options that the program supports.
# If you want to know the options a program supports, start the program
# with the "--help" option.
#
# More detailed information about the individual options can also be
# found in the manual.
#
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
#

打开后再进入到 Section 5.1.5, “Server System Variables”,搜索【character_set_database】,可以看到:

这个变量是不能手动修改的,于是试着修改【character-set-server】:

character-set-server=utf8mb4

重启mysql,查看变量:

问题解决。

参考资料:

http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
http://stackoverflow.com/questions/8709892/mysql-throws-incorrect-string-value-error

解决mysql保存数据SQLException: Incorrect string value: ‘\xF0\x9F\x91\x87\xE5\x91...‘ for column ‘错误相关推荐

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

    保存订单存入数据库时,报错: "\n### Error updating database. Cause: java.sql.SQLException: Incorrect string v ...

  2. python向Mysql存入数据1366, Incorrect string value: '\\xF0\\x9F\\x98\\xAC\\xE3\\x80...'

    写的爬虫小项目,爬取贴吧帖子的标题和阅读量,将数据存入MySQL 错误信息: (1366, "Incorrect string value: '\\xF0\\x9F\\x98\\xAC\\x ...

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

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

  4. 终极解决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 ...

  5. 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 ...

  6. 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 ...

  7. 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表情 ...

  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. ### Cause: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x96\x8B \xE7...‘ for column ‘con

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

最新文章

  1. Android测试原理(三)——使用Eclipse的ADT进行测试
  2. R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colon数据集
  3. Linux08--Shell程序设计03 shell script
  4. ARM 架构(V7,V8),和ARM内核区别,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57
  5. sql 与linq的转换
  6. 获得系统当前时间的字符串格式
  7. 全球及中国甜菊糖苏打水行业营销模式与盈利前景调研报告2022版
  8. 创建calico网络报错client response is invalid json
  9. 使用WildFly 8在Java EE7中自举Apache Camel
  10. 非负矩阵分解推导(NMF)
  11. Docker快速搭建TeamSpeak多人语音聊天服务器
  12. 【BZOJ2120】数颜色,带修莫队
  13. vuedraggable能实现自由拖拽功能吗?_基于 vue.js 仿禅道主页拖拽效果
  14. 开源与安全兼备 IBM LinuxONE轻松掌控关键业务
  15. android label关闭按钮,iOS弹出关闭按钮标签:“OK”还是“Okay”?
  16. 解决apache启动错误httpd:Could not reliably determine...
  17. 二级公共基础知识_二级公共基础知识 01
  18. C/C++[codeup 2063]日期累加
  19. 无法登录苹果开发者_利用Apple Developer申请苹果开发者账号(解决支付授权失败问题)...
  20. 基层干部计算机培训方案,基层管理干部培训方案

热门文章

  1. Kubernetes容器云平台技术方案
  2. 课设系列:51单片机制作智能时钟闹钟
  3. 字节跳动校招——运维工程师-系统架构岗位面经分享
  4. ThreadLocal 是什么?有哪些使用场景?
  5. CentOS 7提供的ISO镜像文件
  6. Kubernetes--Pod的DNS域名和相关特性
  7. 大数据学习环境搭建系列(二)虚拟机软件Vmware的安装
  8. 华硕主板如何设置开机自启_华硕主板每次开机都进bios 华硕主板开机总是自动进入了BIOS设置界面怎么办?...
  9. POE交换机供电时,网线如何连接?
  10. Linux内核由32位升到64,将Ubuntu从32位版本升级到64位版本