美文网首页
MySQL java.sql.SQLException: Inc

MySQL java.sql.SQLException: Inc

作者: fdsun | 来源:发表于2020-11-07 15:36 被阅读0次

问题:调用接口时报错 MySQL java.sql.SQLException: Incorrect string value ...
解决: 将表和列的字符集都改为utf8

借助工具

  • 以SQLyog为例:
字符集设置.png

以命令的形式

  • 查看数据库字符集
show variables like '%character%';
  • 查看列的字符集
show full columns from xxxx
  • 修改列的字符集(xxxx是表,yyyy是字段)
alter table xxxx MODIFY yyyy varchar(50) charset utf8;
  • 记录
a.先查看库、表、表字符字段的编码格式
SHOW CREATE DATABASE db; //查看库的字符集
SHOW CREATE TABLE db.table;//查看表的字符集
SHOW FULL COLUMNS FROM table.field; //查看字段编码

b.修改库、表、字符字段的编码
ALTER DATABASE db DEFAULT CHARACTER SET utf8; //修改库的字符集
ALTER TABLE db.table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; //修改表以及字符字段的字符集
  • 知识点:
    1. mysql的字符集的作用域有三个层级一个数据库级,一个是表级,一个是列级(字段级别的)。
    2. 优先级是:列级 > 表级 > 数据库级。
  • tips
    • 在创建数据库和表的时候, 注意字符集的选择
    • 对于mysql字符集我们不想出现乱码情况有一个经验就是:
      character_set_client、
      character_set_connection、
      character_set_results
      字符尽量设置成一致的。
    • 插入和查询emoji字符的时候,对上面三个参数的配置成utf8mb4

参考链接:
https://blog.csdn.net/u013066244/article/details/100095693
https://www.cnblogs.com/jiangds/p/9273315.html

相关文章

网友评论

      本文标题:MySQL java.sql.SQLException: Inc

      本文链接:https://www.haomeiwen.com/subject/cmofbktx.html