zoukankan      html  css  js  c++  java
  • MySQL插入异常:SQL state [HY000]; error code [1366]-----(utf8mb4)

    今日发现我的一个小爬虫软件,爬取数据不及时,查询服务器日志发现异常:

    SQL state [HY000]; error code [1366]
    java.sql.SQLException: Incorrect string value: 'xF0x9Fx98xAD</...'

    显示为某字段插入异常;而显示该字段的值为上面显示的字符

    经过查阅发现mysql编码问题

    'xF0x9Fx98xAD</...'

    可以发现该字符为一个4字节的十六进制的字符

    我们先看看mysql的字符集所支持的字节范围:

    SHOW CHARACTER SET;

    发现:

    utf8最大支持3个字节的字符

    翻看了mysql官方version release notes,可以发现:

    在version 5.5.3之后,增加了一种和utf-8类似的字符集utf8mb4,并且它的编码支持4个字节每个字符,

    所以解决办法是:

    将对应列的字符集改成utf8mb4

    再进行插入测试,发现插入成功;


    结束

  • 相关阅读:
    Tree MapByFold
    Tree DepthByFold
    Tree SizeByFold
    Tree MaximumByFold
    Tree Fold
    Tree Map
    Tree Depth
    Tree Maximum
    Tree Size
    Tree
  • 原文地址:https://www.cnblogs.com/zktww/p/12485023.html
Copyright © 2011-2022 走看看