银河站长网为全球中文网站提供原动力!

如何让Discuz支持Emoji表情?

AD

内容提要:很多站长的网站,如果发帖或者回复里有emoji表情的话,会出现其奇怪怪的问题,有的discuz版本会截断Emoji后面的字符,有的会降emoji变成问号,反正就是不正常显示,今天我们就是来解决这个问题的。首先得您的网站必须是UTF-8编码的才能搞,gbk的可不行。discuz的编码是UTF-8,但是支持emoji需要utf-8mb4,只要把forum_thread表里的subject字段和forum_post表里的message和sub

很多站长的网站,如果发帖或者回复里有emoji表情的话,会出现其奇怪怪的问题,有的discuz版本会截断Emoji后面的字符,有的会降emoji变成问号,反正就是不正常显示,今天我们就是来解决这个问题的。

首先得您的网站必须是UTF-8编码的才能搞,gbk的可不行。

discuz的编码是UTF-8,但是支持emoji需要utf-8mb4,只要把forum_thread表里的subject字段和forum_post表里的message和subject字段的编码改成utf-8mb4就可以了,可以通过phpmyadmin或者navicat来修改,记得更改前先备份哦,理论上来说没啥风险的。

另外config/config_global.php这个里面的数据库编码也得改成utf-8mb4。如:$_config['db']['1']['dbcharset'] = 'utf8mb4';

然后内容里输入emoji表情就可以正常显示了。

另外再分享个去除emoji表情的函数,备用:

function removeEmojiChar($str) {
        $mbLen = mb_strlen($str);
        $strArr = [];
        for ($i = 0; $i < $mbLen; $i++) {
            $mbSubstr = mb_substr($str, $i, 1, 'utf-8');
            if (strlen($mbSubstr) >= 4) {
                continue;
            }
            $strArr[] = $mbSubstr;
        }
        return implode('', $strArr);
}
好文章,需要你的鼓励
赞一个

如今做站的人不多了,多个朋友多条路子,加入站长论坛和上万同道交流
标签:emojidiscuz
声明:本信息由商家提供,银河站长网仅为VPS服务器信息分享,本站无法作任何保障,任何IDC都有倒闭和跑路可能,请网友购买前衡量评估风险,自负责任。数据勤备份是最佳选择。转载请保留链接:《如何让Discuz支持Emoji表情?》站长联系QQ:22⑧2六8⑦肆8,邮箱为QQ邮箱。
评论
评论列表
共有 条评论