首页 分享

  Typecho默认不支持Emoji表情,这不是程序的锅,而是由于编码的问题造成,Emoji是一种在Unicode位于u1F601-u1F64F区段的字符。这显然超出了目前常用的UTF-8字符集的编码范围u0000-uFFFF。在MySQL中,UTF-8只支持最多3个字节,而Emoji是4个字节。所以评论中带有Emoji表情才会报错。

  我们只需简单两步即可让typecho支持emoji表情评论,只要将默认的数据库编码utf8修改为utf8mb4即可。

  1.修改评论内容字段的编码

  使用数据库管理工具,找到typecho_comments评论表的text字段,将该字段的编码改为utf8mb4_general_ci。

  2.修改数据库配置文件

  打开网站根目录数据库配置文件config.inc.php

  将charset的值由utf8改为utf8mb4。

  /*定义数据库参数/

  $db=newTypecho_Db('Pdo_Mysql','echo_');

  $db->addServer(array(

  'host'=>'localhost',

  'user'=>'echo',

  'password'=>'password',

  'charset'=>'utf8mb4',//修改这一参数

  'port'=>'3306',

  'database'=>'echo',

  ),Typecho_Db::READ|Typecho_Db::WRITE);

  Typecho_Db::set($db);

  修改好后保存即可。

  原文:https://www.echo.so/technique/49.html




文章评论

    站元素主机 访客FireFoxWindows
    2020-12-29 10:19   回复

    来都来了 赞一个再走

      珍惜 站长ChromeWindows
      2020-12-29 20:39   回复

      谢谢!