首先交代开发版本系统版本 ubuntu 16.04 ,jdk 1.8 ,sppringboot 2.13 ,数据库的版本 5.7.25
使用springdatajpa配置数据库连接的时候,我的配置如下,当然这也是官方 demo 的配置(同时说明一下这个spring.jap.hibernate.ddl-auto 这个参数配置有5个值,每个 create、crate-drop、update、validate、none。谨慎使用 create-drop )。

插入英文还可以正常插入,但是插入中文完全就会出现中文乱码的情况。于是我就将连接参数改成了图2的样子,但是出现了 java.sql.SQLException: Incorrect string value: '\xE5\x8F\xAF\xE8\x83\xBD...' for column 'sd_character' at row 1 这样的报错。

然后我就去查数据库的字符集参数,如下:

找到了症状所在,然后 sudo vim /etc/mysql/mysql.cnf 中加了如下的参数。
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
保存,重启 mysql 数据库 service mysql restart 。然后再去查询数据库字符集 如下图:

通过程序插入就可以了,通过测试一切搞定。
网友评论