Mysql错误1366的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
第一种就是urlencode后存入数据库 读取的时候再urldecode
第二种数据库字段改成utf8mb4,注意数据库的连接方式也要改成utf8mb4
原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
第一种就是urlencode后存入数据库 读取的时候再urldecode
第二种数据库字段改成utf8mb4,注意数据库的连接方式也要改成utf8mb4