應徵
查看: 2566|回復: 2

如何讓Discuz支持Emoji表情?

--Emoji符號

01_avatar_middle

5

主題

20

帖子

547

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
547
online_admin 酒店經紀 發表於 2013-3-8 17:05:55
很多站长的网站,如果发帖或者回复里有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表情的函数,备用:

如何讓Discuz支持Emoji表情?/ 作者:酒店經紀 / 帖子ID:16318

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);
}



回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

經紀LINE

台北酒店經紀

GMT+8, 2024-3-29 03:42 , Processed in 0.011988 second(s), 11 queries , Gzip On, Redis On.

👉《真善美娛樂經紀公司》 👉保障安全,✅兼差消費,✅日領高薪!【⛔️"未滿18請自行離開請勿詢問"】

© 💎 2024 💯聊天會館、禮便服店、茶桌、護膚、酒吧求職娛樂平台💯

快速回復 返回頂部 返回列表