您当前的位置: 首页 >  sql

【03】

暂无认证

  • 1浏览

    0关注

    196博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

解决Springboot JPA + mysql 无法添加表情符问题

【03】 发布时间:2020-07-17 10:17:57 ,浏览量:1

前言
  • Unicode 超过 \u0000 ~ \uFFFF 之间的字符必须用两个双字节的形式表示。如“?”“?”称之为《特殊字符》
问题 插入特殊字符数据库报错
  • Incorrect string value: ‘\xF0\x9F\x98\xAC’ for column ‘user_name’
1.修改mysql配置文件编码
  • 找到mysql的配置文件 C:\mysql\mysql-8.0.13\mysql-8.0.13-winx64\my.ini文件
  • 修改编码
[mysqld]
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
2.修改数据库编码,执行sql(也可以图形化界面直接手动设置)
  • 方法一:执行sql
修改数据库编码:SET character_set_database = utf8mb4;  或
alter database 数据库名 character set utf8mb4
修改数据表编码:ALTER TABLE 数据库名 CHARACTER SET = utf8mb4;
查看数据库编码:SHOW CREATE DATABASE 数据库名;
查看表编码:SHOW CREATE TABLE 表名;
查看字段编码:SHOW FULL COLUMNS FROM col_name;
  • 方法二:图形化界面手动设置
  1. 保证数据库编码一致为utf8mb4

  2. 保证表编码一致为utf8mb4

  3. 保证字段编码一致为utf8mb4

编码设置完成,此时你可以手动往数据库里边插入

注意:手动插入数据需要将数据库的连接属性设置为utf8mb4,否则特殊符号会乱码且不能插入

注意:如果在图形化界面将连接属性设置为utf8mb4,你的正常中文都会是乱码“???”问号,所以建议不要手动去插入数据

3.修改springboot的连接属性
spring:
  datasource:
    tomcat:
      init-s-q-l: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci
大功告成
关注
打赏
1657344724
查看更多评论
立即登录/注册

微信扫码登录

0.0365s