您的位置:首页 > 编程语言 > PHP开发

在laravel框架中:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'

2017-10-26 13:53 906 查看
可能的原因:

第一:检查以下你的编辑器的编码是否设置为UTF-8;这是最容易忽略的原因之一。

第二:检查以下你数据库的varchar/char等相关字段是否已经设置为utf8

如果用的是navicat,需要检查两个地方;



是否都已经设置:



实在不行就将utf8改成
utf8mb4


Google说MySQL的utf8不是真正的UTF8,只能包含三个字节的unicode,4个字节就会报错。要解决此总是需要使用
utf8mb4
这个编码。可是我把表和column的CHARSET都改成
utf8mb4
后仍无法存入Emoji字符。

原来还要在my.cnf里修改下mysqld的character-set-server,把它改为
utf8mb4
,然后重启mysqld,就可存入Emoji字符了。

[mysqld]
character-set-server = utf8mb4
1
2
所以,建议大家以后在设计表时 default character set 最好设置为
utf8mb4
,因为现在Emoji字符已经很流行了,用户难免会在浏览器里输入Emoji字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐