在微信昵称中,往往会看到很多人有特殊符号,如😂或❤。这些符号也是UTF-8编码的一些字符,但是又有点特殊。我们一般使用的utf8编码其实是一个比较常用的字库,也就是说,不是最大最全的那个库。那么utf-8最大最全的库是什么呢,就是utf8mb4编码!
我们在MySQL的表设计器中可以看到,如果字段是字符串类型,那么编码就可以选择普通的utf8或utf8mb4,如果选择了utf8mb4,就可以存储前面说到的特殊字符了。
但一些框架,如THINKPHP,默认是什么普通的utf8编码去读数据库的。就是说,即使我们把某个字段设置成了utf8mb4编码,结果通过THINKPHP读取出来,结果乱码了,或者变成小方块了。那么THINKPHP这边还需要做什么设置呢?
在config文件中,设置数据库连接属性“'DB_CHARSET'=> 'utf8mb4',”即可。为什么要这么设置,这就要涉及到数据库编码相关的服务器编码、数据库编码、表编码、字段编码、连接编码等让人更繁琐的内容,我们这里就不深入介绍了。有兴趣的自行百度。
好了,关于设置MySQL使用utf8mb4编码来保存微信昵称中的表情符号,本文就介绍这么多,希望对大家有所帮助!