mysql中插入表情符号emoji、日文片假名问题

[ 2022-07-26 15:15:04 | 作者: admin ]
字号: | |
p.s.有次全部设好还乱码,查了发现自定义截取函数有问题,改为mb_substr()注意第三个编码参数,就正常了。
MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集。


一、首先修改mysql配置文件
[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

二、建立数据库和字段的时候需要使用 utf8mb4

三、程序中连接数据库需要使用 utf8mb4
set names utf8mb4



另外还可以过滤掉表情符号

// 过滤掉emoji表情
function filterEmoji($str)
{
         $str = preg_replace_callback(
                '/./u',
                     function (array $match) {
                     return strlen($match[0]) >= 4 ? '' : $match[0];
                     },
                     $str);
           return $str;
   }
[最后修改由 admin, 于 2022-09-24 13:55:37]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2869

这篇日志没有评论。

此日志不可发表评论。