From 35c12dc40a4efb2b3f1ca8a8f822819ce1d34b8a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 16 Jun 2015 08:17:49 +0300 Subject: [PATCH] add workaround for mysql only accepting subset of unicode characters --- include/rssfuncs.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/rssfuncs.php b/include/rssfuncs.php index cc8a8e3f0..17233914e 100644 --- a/include/rssfuncs.php +++ b/include/rssfuncs.php @@ -736,6 +736,13 @@ _debug("plugin data: $entry_plugin_data", $debug_enabled); + // Workaround: 4-byte unicode requires utf8mb4 in MySQL. See https://tt-rss.org/forum/viewtopic.php?f=1&t=3377&p=20077#p20077 + if (DB_TYPE == "mysql") { + foreach ($article as $k => $v) { + $article[$k] = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $v); + } + } + $entry_tags = $article["tags"]; $entry_guid = db_escape_string($entry_guid); $entry_title = db_escape_string($article["title"]);