【程序报错】Caused by: java.sql.SQLException: Incorrect string value: '\xE9\x99\x90\xE6\x97\xB6...'

news/2024/10/31 3:21:09/

问题发现

最近在开发中遇到了一个问题,就是插入记录的时候有个text类型字段的json一直报错,错误信息如下:
在这里插入图片描述
待插入的值为:

jsonDetail: "[{"type":"home","tag":"首页 超级好物","data":[{"tabName":""},{"tabName":""},{"tabName":""}]}]"

一开始理解偏差了,以为是json解析出了问题,尝试修改Tomcat和程序编码的解决方案,然而没有效果,后来仔细一想应该是底层数据库编码的问题,到数据库DDL一查,果不其然,发现了字符集是ASCII,这样插入含有中文的记录时肯定报错了,实际上开发中也很少会使用这么非主流的字符集,如下所示:
在这里插入图片描述

解决方案

设置表的字符编码为:ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin,同时取消字段的字符集。
MySQL创建表的时候经常会默认给一些字段字符集,这个其实是不符合规范的,我们在开发中设计表的时候,应该做到不去为字段单独的设置字符集和排序规则,而是应该为整张表设置一个统一的字符集,并且字符集一般使用utf8mb4


http://www.ppmy.cn/news/318459.html

相关文章

incorrect string value: '\xE9\x99\x88\xE6\xB5\xA9' for column

Spring Data JPA 插入数据库,报错提示 incorrect string value: \xE9\x99\x88\xE6\xB5\xA9 for column 查询一番后,找到了原因:编码问题。 解决问题的办法: 1. 修改配置文件中的数据库连接属性:增加编码声明 sprin…

X99 HDEF ALZA

X99 平台下 Device (ALZA) 命名为 Device (HDEF) 声卡DSDT

华硕 X99 E WS 安装 macOS Sierra 10.12.4

硬件情况: E5 1620 V4 X99 E WS 8GB DDR4 2400 x 4 AMD 7950 3GB 说明: 这里用了免驱卡AMD 7950, 基本在安装阶段都是全分辨率的, 建议所有黑果的玩家使用免驱卡。 BIOS设置准备工作: Intel Speedstep Technology Disabled…

华南x79主板u盘装系统教程_华南x99主板装win7系统及BIOS设置教程

[文章导读]最近有小伙伴问我华南x99主板能装win7吗?华南x99主板可以安装win7,但安装win7过程中有很多问题,要采用win7新机型安装,且要在BIOS中关闭“安全启动”和开启"兼容模式"选择,如果是NVME接口的固态硬盘,安装WIN7过程中会出现0x000007b找不到硬盘蓝屏,那…

x99对应服务器芯片,x99主板配什么cpu 几款x99主板介绍【详细介绍】

对电脑方面具有一定程度上专业了解的朋友们应该都知道,决定一台产品质量好坏的标准不仅仅在于配件的优劣,有时候还要取决于它们之间的搭配问题,只有各部件之间能够协调一致,我们才可以成功享受到最为出色的使用体验,因此关于产品的搭配问题便显得至关重要。今天为大家介绍…

x99 芯片服务器,X99果然是支持PCI-E拆分的啊

最近,我一直在尝试将我上次未使用的 8X PCI-E 插槽拆分为一半。因为我现在有一个40车道cpu和我的两个GPU都采取16X车道,把一个NVME驱动器在最后一个插槽离开我4X车道被浪费。在我的情况下,我也有一个板载M.2连接器与NVME驱动器,但连接到最后一个PCI-E插槽和M.2板载驱动器被…

X99安装MacOS 10.13无法启动的问题解决方案

打算升级10.13,发现别人的x99都成功了,但是一直还是卡在内核一加载就卡死或者重启这一步。折腾了几天,分析了kernel和以前的补丁,终于找到了解决办法。 是有我的cpu比较特殊,或者说比较稀少,需要多打一个msr相关的补丁…

学习英文和英语听力的网址

http://www.dioenglish.com/diolinks/html/radio/