原因是:UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插入不进去。
过滤emoji表情的php和js代码:
php过滤emoji表情:
$name = preg_replace('/[^\\u0000-\\uFFFF]/ig', '', $string);js过滤emoji表情:
name = name.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, "");
$name = preg_replace('/[^\\u0000-\\uFFFF]/ig', '', $string);js过滤emoji表情:
name = name.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, "");