微信用户名存储的时候用什么类型好啊?

我现在的微信用户名是存在 mysql 中使用的 varchar(64) 来存储的,但是发现有的微信名字插入不了数据库,因为有的有各种表情。

SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x94\x9E\xE6\x88...' for column 'nickname' at row 1

阅读 6.2k
4 个回答

Emoji ? utf8mb4

用varchar存储没有问题。
插入不进去可以考虑转义,或者转码。

你可以考虑先base64编码微信用户名,然后在存入数据库。

其实emoji表情符号都是一些特殊的符号而已,和普通的字符没啥区别,只是电脑没法显示或者显示一个框。网上有一张emoji和字符对应关系的表,你找一下!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题