解決 TTRSS 訂閱的標題或內文 emoji 變成問號

Tiny Tiny RSS (TTRSS) 是自架的 RSS Feed (RSS 摘要) 軟體。透過 TTRSS 可以訂閱與閱讀 RSS Feed。修改資料庫字符編碼與設定檔,解決遇到包含 UTF8 emoji 表情符號的標題或內文會變成亂碼問號的問題。

問題狀況

TTRSS 看到有些字變成像亂碼的問號:

原始 RSS feed 和社群討論文章是正常顯示 emoji


解決方式

參考 TTRSS 討論區上文章 Table collation issues and questions - Tiny Tiny RSS / Support - Tiny Tiny RSS: Community 以及 Tiny Tiny RSS / MySQL: Problems with UTF8 Emojis – Simon Krenger

1. 備份原始文章資料表:ttrss_entries

2. 修改資料表字符編碼

文章資料表:ttrss_entries

ALTER TABLE `ttrss_entries`
CHANGE `title` `title` text COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `id`,
CHANGE `content` `content` longtext COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `updated`,
CHANGE `author` `author` varchar(250) COLLATE 'utf8mb4_unicode_ci' NOT NULL DEFAULT '' AFTER `comments`,
COLLATE 'utf8mb4_unicode_ci';

網路文章提到其他資料表的修正,供參考

  • ttrss_error_log 錯誤訊息
  • ttrss_archived_feeds 已經刪除的訂閱,如果訂閱源網站名稱包含 emoji 需要修改
  • ttrss_enclosures 文章附件多媒體網址
  • ttrss_feeds 訂閱源,如果訂閱源網站名稱包含 emoji 需要修改
  • ttrss_feedbrowser_cache

3. 修改設定檔 config.php

//define('MYSQL_CHARSET', 'UTF8');
define('MYSQL_CHARSET', 'UTF8MB4');

4. 取消訂閱

5. 重新訂閱該 RSS feed

留言