前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Incorrect string value: '\xF0\x9F\x8C\xB8' for column 'fullname' at row 1 报错的详解

Incorrect string value: '\xF0\x9F\x8C\xB8' for column 'fullname' at row 1 报错的详解

作者头像
翟凤玺
发布2020-10-29 11:09:46
1.9K0
发布2020-10-29 11:09:46
举报
文章被收录于专栏:翟凤玺

导读

  • 数据库入库的时候报了这样一个错。原因是入库的字段包含一个emoji表情。
代码语言:javascript
复制
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xB8' for column 'fullname' at row 1

处理办法

  • 把数据库编码集改为 utf8mb4 即可。

utf8mb4的详解

  • MySQL在5.5.3版本之后增加了这个utf8mb4的编码。
  • utf8mb4是utf8的超集,理论上原来使用utf8,然后将字符集修改为utf8mb4,不会对已有的utf8编码读取产生任何问题。
  • mb4就是most bytes 4的缩写,专门用来兼容四字节的unicode。
  • utf8编码,最大字符长度为 3 字节,如果遇到 4 字节的字符就会出现错误了。
  • 三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xFFFF,也就是 Unicode 中的基本多文平面(BMP)。Emoji 表情和一些不常用的汉字,以及任何新增的 Unicode 字符,不属于BMP。
  • 可以用utf8mb4字符编码直接存储emoj表情,而不是存表情的替换字符。
  • 为了获取更好的兼容性,应该使用 utf8mb4 而非 utf8。
  • 对于 CHAR 类型数据,使用utf8mb4 存储会多消耗一些空间。

以上文字总结自

原文链接:http://blog.xieyc.com/utf8-and-utf8mb4/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/05/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导读
  • 处理办法
  • utf8mb4的详解
    • 以上文字总结自
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档