menu 忆往事
more_vert
让Typecho支持Emoji表情
2020-03-07 | 三言两语 | 47 条评论 | 346 次阅读 | 346字

之前收到几位博友的反馈,说他们发表的评论不是没有了就是少一段,还问是不是被我删掉了?博友们的评论我怎会舍得删呢,但是发广告和毫无营养的评论绝不手软,当时我是一头雾水不懂哪出了问题,

最近留意到挨踢路一篇文章提到emoji表情,回想几位博友当时反应的情况总算找出导致评论异常的原因了;

Typecho默认不支持emoji表情是由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,不过utf8mb4编码在PHP5.5以后才支持。

Emoji是一种在Unicode位于u1F601-u1F64F区段的字符。这个显然超过了目前常用的UTF-8字符集的编码范围u0000-uFFFF。在MySQL中,UTF-8只支持最多3个字节,而emoji是4个字节。这就导致如果你不修改数据库的话,typecho是无法支持Emoji表情的。

当然好消息是utf8mb4其实是完全兼容utf-8,修改后不会影响现有数据及后期数据。

1.修改数据库编码

在PhpMyadmin中选择typecho数据库,操作-->排序规则-->选择utf8mb4_unicode_ci然后执行。

2.修改表编码

执行以下sql语句

alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_unicode_ci;

3.修改typecho配置文件config.inc.php

拉到最下面找到这一行

'charset'   =>  'utf8', 

修改为

'charset'   =>  'utf8mb4', 

Typecho就可以使用emoji表情了,赶紧评论试试吧,搜索emoji表情还真不少.

???????????️⚽⚡?️??️

发表评论
已有 47 条评论
textsms
account_circle
email
link
    Heresy
    2021-07-07 19:23

    更改所有表排序规则要选上吗?

      Mr.Chou
      Mr.Chou 博主
      2021-07-07 19:30

      没注意呢,那么久都忘记了,哈哈。

    wilson
    wilson
    2021-02-12 22:08

    你好,请问第二步的修改表编码是在后台修改吗?还是在数据库里修改?我用的是宝塔面板搭建的。还请指教一下,谢谢!

      Mr.Chou
      Mr.Chou 博主
      2021-02-12 22:53

      进入数据库里执行命令修改,是SQL里,仔细看教程不难.

    NiCE
    2020-03-12 19:32

    我来凑凑热闹???

    叶先生博客
    2020-03-10 17:44

    不错不错,支持下哈

    姜辰
    2020-03-10 17:26

    我的网站也是支持emoji的,但是我每次一升级,好像就出问题。

    emmm

    我忘了是数据库升级还是PHP升级,总有一个是罪魁祸首。

      Mr.Chou
      Mr.Chou 博主
      2020-03-20 18:51

      呵呵佛系对待随他去吧,能用就行好哈。

    灰常记忆
    2020-03-10 05:02

    我都想用typecho了

      Mr.Chou
      Mr.Chou 博主
      2020-03-10 08:43

      欢迎来撩,据可靠消息称夏天会有新版本上线…

        灰常记忆
        2020-03-10 08:45

        新版本我看到70在他的站说过了?

          Mr.Chou
          Mr.Chou 博主
          2020-03-10 08:49

          嗯嗯,不过发布了也得观察一段时间,如果太折腾就暂时不升适合自己就好。

    子痕
    2020-03-09 22:15

    好羡慕你们这些一上来就用命令修改的。。。
    好羡慕你们这些能用表情评论的。。。

      Mr.Chou
      Mr.Chou 博主
      2020-03-10 08:42

      很显然你是被以上看似牛逼的代码忽悠了,都是照葫芦画瓢要自己操作单词都不会几个…?原创才是牛人。

    王光卫博客
    2020-03-09 20:19

    影不影响升级呢

      Mr.Chou
      Mr.Chou 博主
      2020-03-20 18:53

      问题应该不大,毕竟楼下那位兄弟已经修改,搞不定在找他帮帮忙。

    灰狼
    2020-03-09 19:53

    文章好像是许久之前的了。。。

      Mr.Chou
      Mr.Chou 博主
      2020-03-09 19:58

      最近搜索emoji表情在翻了遍,也解决了评论异常的问题。

    林三
    2020-03-09 15:29

    表情不表情的,也还好啦,问题不大,主要是沟通方便。

      Mr.Chou
      Mr.Chou 博主
      2020-03-09 19:34

      主要是支持了,至于用不用都是浮云

    Teacher Du
    2020-03-09 14:01

    贵博的主题好简洁!

      Mr.Chou
      Mr.Chou 博主
      2020-03-09 19:33

      您的也不赖

    青山
    2020-03-09 10:24

    你得搞个按钮放在评论框旁边

      Mr.Chou
      Mr.Chou 博主
      2020-03-09 19:34

      技术有限,没打算放出来。

    wys
    wys
    2020-03-09 08:54

    Emoji,21世纪的甲骨文,折腾,让博客更美好。

      Mr.Chou
      Mr.Chou 博主
      2020-03-09 18:27

      21世纪的甲骨文比喻很贴切,貌似已成各界公认表情。

    山卜方
    山卜方
    2020-03-08 21:18

    这个贴心

      Mr.Chou
      Mr.Chou 博主
      2020-03-09 18:23

      主要是为了避免评论异常

    科林先生
    2020-03-08 20:40

    测试一下,??????????????????????☎???????

      Mr.Chou
      Mr.Chou 博主
      2020-03-09 18:23

      测试成功,嘿嘿~

    Lvtu
    2020-03-08 13:55

    一直以为你用的是WP,还在纳闷你的站咋这么快呢?
    话说我在这里发评论咋从没有看到有表情呢?歧视我。。。。

      Mr.Chou
      Mr.Chou 博主
      2020-03-08 14:43

      这就是你的不对咯没认真看题,标题写的是支持不是添加,因为很多输入法自带这些表情,是一种编码可以直接复制并不是图片得…

        Lvtu
        2020-03-08 16:29

        好吧,我的错!以为你直接把表情植入进来了呢!????

    张波博客
    2020-03-08 12:24

    感觉带不带表情没有太大必要

      Mr.Chou
      Mr.Chou 博主
      2020-03-08 18:06

      输入法自带的表情可有可无,只是为了防止某些博友评论时异常…

    流金岁月
    2020-03-08 11:27

    这篇教程很不错,解决了很多人的燃眉之急。我一般都不加这个,都是用输入法来打

      Mr.Chou
      Mr.Chou 博主
      2020-03-08 19:00

      嘿,是用输入法打出来,原本程序不支持这些表情,修改后就可以了并不是添加表情…

    风也温柔
    2020-03-08 11:11

    不知道mariaDB有没有这个问题,可能是我没有发现

      Mr.Chou
      Mr.Chou 博主
      2020-03-08 18:06

      可以自己试一试评论

    Sam.Z
    2020-03-08 08:42

    去年我用WP就遇到过类似情况,以后转主机的时候要注意数据库格式

      Mr.Chou
      Mr.Chou 博主
      2020-03-08 09:05

      噢,记住了感谢提醒。