Heim > Backend-Entwicklung > PHP-Tutorial > 网页如何显示emoji表情

网页如何显示emoji表情

PHPz
Freigeben: 2020-09-04 15:44:11
Original
5740 Leute haben es durchsucht

网页显示emoji表情的方法:首先将数据库字符集改成“utf8mb4”编码;然后将数据表改成“utf8mb4”编码;最后将框架里的配置编码也改成“utf8mb4”即可显示出emoji表情。

网页如何显示emoji表情

网页如何显示emoji表情?

APP开发时,遇到用户填写评论的情况,有些用户会输入emoji表情。开发微信登录的时候,有些用户的头像也是emoji表情。此时直接存入数据库,页面会无法显示。那么怎么让页面显示呢?

一共有两种办法,推荐第一种

方法一:①MySQL数据库改的字符集改成utf8mb4编码,②数据表改成utf8mb4编码,③框架里的配置编码也改成utf8mb4。

一、存储昵称的字符集改成utf8mb4

03d829aace2ef1dea4a286c00370d0c.png

二、数据表改成utf8mb4编码

e79bd98e9a4a82b93b2fdd5672f4b28.png

三、框架里的配置编码也改成utf8mb4(以Thinkphp框架为例)

552f403f1635faf3e3d22f03092357e.png

方法二:存进数据库用urlencode存,取的时候用urldecode取,再返回给前端

要点:一、存进数据库时,用 urlencode 存,取的时候,用 urldecode 返回给前端

二、为避免全部文字都用urlencode存进数据库,字段太长导致数据错乱,所以做个细节处理,只有碰到emoji表情才使用urlencode,中文和英文不使用urlencode

代码开始

$remark = '[表情][表情][表情][表情][表情][表情]哈哈哈哈';        //  用户发布的评论
    $str = '';       //  
    // 3字节是汉字,不转换,4字节才是 emoji
    for ($i = 0; $i < mb_strlen($remark); $i++) {
        $char = mb_substr($get[&#39;remark&#39;], $i, 1);
        if (strlen($char) > 3) {
            $char = urlencode($char);
        }
        $str .= $char;
    }
    //  $str则为最后要存进数据库的数据
Nach dem Login kopieren

取出的时候,记得用urldecode转换一下,即可。

$res = mysql -> query(&#39;SELECT remark FROM user_remark&#39;);
    $remark = urldecode($res[0][&#39;remark&#39;]);
Nach dem Login kopieren

页面最终打印效果

bd9187a301dd424e039a86c31208d5d.png

更多相关知识,请访问PHP中文网

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage