表的字段的字符集是utf-8所引起的问题

63 阅读1分钟

1:发现的日志报错是:

f9ded4459d7b2f3a924459512228e76.png 数据库用的是mysql,这个字段是一个存放描述的字段,一开始用的是utf-8的字符集。 然后业务上这个字段存放的是以下内容:“淇澳钟氏大宗祠傍边1盏<非管养>投光灯𣎴亮:更换”,这个是我让用户发给我的字段内容,我自己根据看的内容编写的是这段:“淇澳钟氏大宗祠傍边1盏<非管养>投光灯不亮:更换”。相信一开始大家可能看不出来,这有啥不一样,反正我是看不出来。后来发现,这个不字不一样,这是用户手写选的一个不字,“𣎴”,我拼音写的不字,“不”,不一样,后来复制去百度才发现,这2是2个字。 百度介绍是:

image.png

然后我查一下它是几个字节的,

8f48cd6585029f4f3978b59a9b5a272.jpg

发现属于4个字节的,然后我一开始用的字符集是utf-8是3个字节的,所以才会报错,后来就是把字段改成utf-8mb4就可以了。 目前记录到这里。后面再查阅一下这utf-8和utf-8mb4的区别。