MENU

使 Typecho 支持 emoji 的显示😂😂😂

• December 27, 2015 • Read: 43490 • Codes

刚开始玩 Typecho 的时候就被狠狠的坑了一次,遥想当年,我兴冲冲的写了人生第一篇大肠文(大雾),只因为中间不小心手贱用了几个 emoji , 提交后发现用 emoji 之后的内容全没了!全没了!啊!没了!啊!!😂😂😂

无奈努力回忆着又草草写了篇没鸟用的文章就洗洗睡了,当时就下定决心一定要解决这个问题(并没有,其实是今天太闲→_→),于是在隔了一年的今天终于开始。。。。😳

其实也不能说 Typecho 不支持,毕竟是字符集的锅,跟 Typecho 没有关系,总得来说还是太笨,毕竟连 Taylor 都没救出来。。。🙃🙃

之前用的是UTF-8的编码,在 MySQL 中,UTF-8只支持最多3个字节,而 emoji 是4个字节,所以就出现了像上面那种惨绝人寰的问题。

知道问题所在以后就好办多了:

  • 修改数据库 charset 为utf8mb4

    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;
  • 修改 Typecho 配置文件中数据库定义参数中的 charset 为utf8mb4

    $db->addServer(array (
        'host'      =>  localhost,
        'user'      =>  'me',
        'password'  =>  'my_password',
        'charset'   =>  'utf8mb4', //修改这一行
        'port'      =>  3306,
        'database'  =>  '蛤?'
    ), Typecho_Db::READ | Typecho_Db::WRITE);
  • 搞定😈~

啊对了,对于不支持 emoji 的设备上大概会显示为框框吧,但至少不会像之前直接毫无人性的砍掉( Mysql 的锅) emoji 之后的内容要好上太多了。。。

最近有点喜欢粗体字了?。。。。

Last Modified: January 31, 2023
Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

44 Comments
  1. 学习了

  2. ????@(哈哈)看完文章第一句话之后,笑了好久……

  3. ????@(哈哈)看完文章第一句话之后,笑了好久……

    1. @千千????????????????

    2. @Hran哇咔咔

    1. @轻浮的康发

  4. ????????????←不知道会出现神马

    1. @Jrottywin10输入法开始支持emoji 了,但是打出来看到的却是框框,醉了,还好评论后能看到

    2. @JrottyWin10的Emoji好丑的????????????

    3. @Hran☹????样式有好多种,而且简单的颜表情也有O_O

    4. @Jrotty貌似有白色的和彩色的????

    5. @Jrotty这几个看看你能显示多少????????????????????????

    6. @Hranwin10貌似都是白色的!

    7. @Jrotty我记得貌似有彩色的啊,黄色的,丑丑的

    8. @Hran有是有,但是发出来看到的都是黑白

    9. @Jrotty那似乎是输入法的问题(O_O)?

    10. @Hran你发的我看着也是黑白的,但是手机看却是彩色的

    11. @Jrotty好吧????????????