打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
谨记不要在MySQL中使用“utf8”编码

1.BUG重现

这里我做了一个简单的试验,来验证utf8在mysql中存在的问题:

建立数据表:

CREATE TABLE `user` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增id', `nickname` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '昵称', `sex` varchar(255) DEFAULT NULL COMMENT '性别', `age` int(10) DEFAULT NULL COMMENT '年龄', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='测试utf8问题重现'

这里我们直接指定了nickname字段的字符编码为utf8,然后我向里面插入一条普通数据,使用mybatis的插入数据库语句如下:

INSERT INTO `user` ( `nickname`, `sex`, `age`) VALUES ( '张三', '男', '18');

的确是像我们平时操作一样插入成功了,似乎没有什么问题,但这里我们再测试一下昵称中带有表情符(emoji)的数据尝试一下:

张三 An

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
linux下mysql主从复制(第二篇读写分离) mycat 中间件
MySQL中ENGINE=InnoDB、AUTO
[MySQL]创建表
[MySQL] mysql 5.5和 5.6 timestamp default 默认值CURRENT_TIMESTAMP问题
【竺】数据库笔记13——mysql 创建表的同时创建索引
flask + mysql + 微信小程序开发的校园微信报修小程序
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服