相关文章推荐
不爱学习的墨镜  ·  解决No module named ...·  1 年前    · 
爱热闹的作业本  ·  redis redisson ...·  1 年前    · 

数据库 mysql 5.7.26
创建java项目数据库时的字符集utf8,校对集utf8_general_ci

mysql 5.5.3版本之后支持了存储4个字节的utf8字符,字符集为utf8mb4,
当字符串中有特殊字符(如emoji表情符号,以及其他凡是转成utf8要占用4字节的字符),就会有问题,会报错Incorrect string value: ‘\xF0\x9F\x91\x93\xF0\x9F…’ for column ‘xxx’ at row 1

用户表的 nickname 字段错emoji表情,报错了,以前项目使用的emoji-java转码方案,这次想换个个优雅一点儿的方法.
修改表字段 nickname 的字符集位 utf8mb4 校对集为 utf8mb4_unicode_ci

ALTER TABLE 用户表 MODIFY  昵称字段  VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

操作用户表需要保存表情的字段时,请插入sql语句SET NAMES utf8mb4;,以下是mybatis的xml代码示例

	<insert id="insert">
		SET NAMES utf8mb4;
		INSERT INTO web_user ( id, nickname, qq_id, istatus, del_flag, create_date, update_date )
		VALUES ( #{id}, #{nickname}, #{qqId}, #{istatus}, #{DEL_FLAG_NORMAL}, #{createDate}, #{updateDate} )
	</insert>

如果还不行不行,点击这里 查看本人参考的文章

数据库 mysql 5.7.26创建java项目数据库时的字符集utf8,校对集utf8_general_cimysql 5.5.3版本之后支持了存储4个字节的utf8字符,字符集为utf8mb4,当字符串中有特殊字符(如emoji表情符号,以及其他凡是转成utf8要占用4字节的字符),就会有问题,会报错Incorrect string value: ‘\xF0\x9F\x91\x93\x...
我们在做小程序的时候存用户的昵称的时候,有时用户的昵称使用的emoji表情,此时在保存昵称的时候就会报错。 java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\xAA",…’ for column ‘nick_name’ at row 1, 报错信息如上。 那如何才能解决这个问题那,需要更改数据库的字符集为utf8mb4,在更改之前需要先确认下 自己的数据库版本 SELECT VERSION(); 如果您的数据库版本在5.5 以下的
测试机mysql版本为5.7.21,默认引擎为InnoDB,默认字符集为utf8。 字段插入Emoji表情具体报错内容如下: Error updating database. Cause: java.sql.SQLException: Incorrect string value: '\\xF0\\x9F\\x98\\x84' for column 'name' at row 1 ### Th...
原文:http://blog.csdn.net/woslx/article/details/49685111 utf-8编码可能2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入表情数据,Java程序中将报SQL异常: java.sql.SQLException:In...
笔记在这里持续更新 在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标,例如:?、?、? 很容易更新或者插入不成功,导致报错。 Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x91\xBD\...
本博主转载前必先亲自考证,深恶痛绝百度CP之流,有问题请与我联系。 MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集,理论上原来使用utf8,然后将字符集修改为utf8mb4,也 会不会对已有的utf8编码读取产生任何问题。 下附phpstudy集成环境, mysql ...
Canvas emoji文本是一种用于在Web页面中绘制表情符号的技术。它利用HTML5的Canvas元素,将表情符号渲染成矢量图形或位图,并允许开发人员对它们进行自定义和交互操作。 使用Canvas emoji文本,开发人员可以在Web应用程序中轻松地绘制和编辑表情符号,以便与用户更直观地交互。这种技术可以用于创建绘图应用程序、游戏、聊天应用程序等。 在实际实现中,Canvas emoji文本需要借助一些工具和库来完成,如EmojiOne、Twemoji等开源图像集。同时,利用JavaScript等编程语言来实现表情符号的交互功能,例如旋转、缩放、拖拽等效果。 总之,Canvas emoji文本是一个非常有趣和实用的技术,它可以为Web开发人员提供更多创意和灵活性,从而增强用户体验和友好度。