美文网首页
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