微信用户名存储的时候用什么类型好啊?
程序员文章站
2024-01-17 09:54:28
...
我现在的微信用户名是存在 mysql 中使用的 varchar(64) 来存储的,但是发现有的微信名字插入不了数据库,因为有的有各种表情。
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x94\x9E\xE6\x88...' for column 'nickname' at row 1
回复内容:
我现在的微信用户名是存在 mysql 中使用的 varchar(64) 来存储的,但是发现有的微信名字插入不了数据库,因为有的有各种表情。
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x94\x9E\xE6\x88...' for column 'nickname' at row 1
Emoji ? utf8mb4
用varchar存储没有问题。
插入不进去可以考虑转义,或者转码。
你可以考虑先base64编码微信用户名,然后在存入数据库。
其实emoji表情符号都是一些特殊的符号而已,和普通的字符没啥区别,只是电脑没法显示或者显示一个框。网上有一张emoji和字符对应关系的表,你找一下!