首页 > 数据库技术 > 详细

mysql与emoji和特殊字符

时间:2018-03-07 22:43:01      阅读:260      评论:0      收藏:0      [点我收藏+]

从微信登陆已经是非常普遍的登陆方式了,在数据库设计时也应该考虑相关性。一般存储open_id、图标、昵称就够了。其中昵称要特殊注意,否则可能就像这样:

mysql : 1366 Incorrect string value 吧啦吧啦……

这是因为微信的昵称用了特殊字符,比如UNICODE的emoji扩展区。mysql的utf8 default是无法存储的,位数不足。参考:附链接1

对应字段应修改为utf8mb4,存储过程的参数也应该修改(附链接2):

CREATE PROCEDURE `emoji`(text varchar(20) CHARSET utf8mb4)
BEGIN
    SELECT text;
END

 

测试这个问题可以用:

select unhex(F09F8D83)

INSERT tb(`text`) VALUES(unhex(F09F8D83))

 

 

链接1:http://www.cnblogs.com/lampbrotherIT/p/5794742.html

链接2:https://stackoverflow.com/questions/17650662/creating-a-stored-procedure-with-utf8-strings

mysql与emoji和特殊字符

原文:https://www.cnblogs.com/fyter/p/mysql_emoji.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!