zishu's blog

zishu's blog

一个热爱生活的博主。https://zishu.me

typecho 博客小表情無法顯示問題

typecho 博客建立完成之後,會發現如果插入一些小表情,頁面渲染完之後,表情不會顯示,並且表情之後的內容全部消失,導致體驗感很差。

表情無法顯示的原因是 uft-8 編碼的問題,無法識別小表情,需要將其改成 utf8mb4

第一步,進入資料庫#

首先登入博客後台的資料庫,然後點擊 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 配置檔#

我使用的寶塔面板,點擊左側 網站 ,然後點擊我們這個網站的根目錄,進入之後,可以找到一個 config.inc.php 的檔案,進入然後滑到最下面。

** 可以發現 'charset' => 'utf8',** 下面我為了更直觀的顯示,將其註釋掉,重新寫的,實際操作中,將 utf8 改為 utf8mb4 即可。

/** 定義資料庫參數 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
  'host' => 'localhost',
  'user' => 'blog',
  'password' => 'blog',
  /** 'charset' => 'utf8', */
  'charset' => 'utf8mb4',
  'port' => '3306',
  'database' => 'blog',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

在文章後台重新輸入小表情,然後儲存回到頁面,小表情成功顯示了。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。