如何设置才能让你的 Typecho 博客支持 Emoji 表情?

罗格罗格 技术文档 8个月前 (2017-11-01) 707 次浏览 评论

如何设置让 Typecho 博客支持 Emoji 表情.jpg
最近看到大家都开始折腾起了 Typecho 的 Emoji 表情功能,并且现在手机聊天 Emoji 表情用的也是越来越多了,所以今天博主也给自己的博客数据库升级了一下来支持这个可爱的小玩意。

如果你从搜索引擎调转过来我想你的 Typecho 博客默认应该是没有支持 Emoji 否则你不会打开这篇文章,在你想给自己的 Typecho 博客增加 Emoji 表情功能之前你需要知道一点是你的 Mysql 数据库版本是否为 5.5 以后版本,如果你用的是虚拟主机请咨询你的主机商你们数据库版本,本文说的只是针对 Mysql 数据库的用户至于其他数据库请 Google 搜索其他方法。

Mysql 的这个问题主要来自于字符长度,因为 Emoji 它是在 Unicode 位于 \u1F601-\u1F64F 区段的字符,然而我们默认所用的 UTF-8 字符集支持的编码范围在 \u0000-\uFFFF,在 Mysql 数据库中,我们常用的 UTF-8 格式编码最多支持 3 个字节,而 Emoji 是 4 个字节的符号,所以 Emoji 表情的长度就超出了我们常用 UTF-8 的字符集范围。

老版本的 Typecho 默认新建数据库时为 UTF-8 编码,到最近更新的 1.0 版本才开始将数据库编码修改为 utf8mb4 ,对于 Typecho 早期使用者,必须手动更改数据库格式和 Typecho 配置文件,当然这也不能怪 Typecho 系统,毕竟 utf8mb4 是在 Mysql 5.5 以后的版本才开始支持的。

那对于老版本的 Typecho 博客主该如何设置才能支持 Emoji 表情呢?

数据库是网站的命根子,无论如何请务必先备份你的数据文件,再进行下面操作,操作前先备份,操作前先备份,操作前先备份!!!这么重要的问题我必须重复三遍,因为没有备份出问题,最后无法恢复的人太多了!!!如果你还没有注意,那么你将不是一个合格的站长!!!

登陆自己的 PHPMYADMIN 后台,查看 Mysql 数据库版本,顺便找到自己的 Typecho 博客数据库,比如我的数据如下图:

Mysql数据库设置01.png

点击自己的博客数据库,查看你们数据库表的排序规则,默认你们应该和我不一样的,我截图里是已经修改过的,先点击上面的操作按钮如图:

Mysql数据库设置02.png

在排序规则里找到 utf8mb4_unicode_ci 选中并选择执行按钮,见下图:

Mysql数据库设置03.png

上面操作为设置我们博客数据库的编码,接下来需要设置我们数据库表的编码,操作数据表编码需要使用命令,在选中当前数据库时,点击 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;

在执行上面上面命令时需要注意,将数据表的前缀 typecho 改成你自己的表对应的前缀,然后点击执行按钮即可【在你点击执行之前我还是要啰嗦一句,你备份了吗?】,步骤可见下图:

Mysql数据库设置04.png

数据库操作完以后我们还需要更改 Typecho 的配置文件 config.inc.php ,通过 FTP 工具或者网页管理工具登陆博客服务器,找到网站根目录下的 config.inc.php 文件编辑,将 charset 的属性修改为 utf8mb4 即可,具体如下:

$db->addServer(array (
  'host'      =>  localhost,
  'user'      =>  'youruser',
  'password'  =>  'yourpassword',
  'charset'   =>  'utf8mb4', //修改这一行
  'port'      =>  3306,
  'database'  =>  'yourdatabase'
), Typecho_Db::READ | Typecho_Db::WRITE);

按照上面所有操作处理完以后你就可以在你的博客中添加表情了!

?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??‍⚕️ ??‍⚕️ ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍? ??‍✈️ ??‍✈️ ??‍? ??‍? ??‍⚖️ ??‍⚖️ ?? ?? ?? ?? ?? ??

  • 本文作者:罗格
  • 本文链接:https://www.moidea.info/archives/how-to-set-up-typecho-blog-to-support-emoji-expression.html
  • 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!
  • 客官,说两句吧!

    暂无人评论