ThinkPHP下向mysql数据库存入emoji表情
作者:野牛程序员:2022-09-26 16:13:28编程杂文阅读 2418
在微信小程序“野牛程序员”的开发过程中,要将用户的微信昵称存入数据库中,由于用户的昵称用了一些emoji表情,当微信用户授权获取微信昵称并插入MySQL数据库的时候、你会发现SQL错误信息“General error: 1366 Incorrect string value: '\\xF0\\x9F\\x98\\x8A' for column ...”,导致存入失败。
经过一段时间的摸索,发现数据库是可以直接存储emoji表情。解决方法如下:
1.mysql数据库的版本大于等于5.5.3
2.把数据库的编码改成utf8mb4,字符集校对改成utf8mb4_general_ci。
3.把要存储emoji表情的表或者字段也改成utf8mb4,字符集校对改成utf8mb4_general_ci。
4.数据库配置也要更改 'CHARSET' => 'utf8mb4', // 数据库编码默认采用utf8。
在thinkphp下 数据库的配置文件为database.php,将该文件中的charset字段由默认的utf8改为utf8mb4即可!
5.重启数据库。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892