From: BtbN Date: Sat, 4 Aug 2018 13:07:32 +0000 (+0000) Subject: Only strip utf8mb4 if mysql_charset != utf8mb4 X-Git-Tag: 18.8~9^2 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=2b8afd49426f4c1b9842c50ea1794d44a8577747;p=tt-rss.git Only strip utf8mb4 if mysql_charset != utf8mb4 If a user has fixed their database properly utf8mb4 works just fine allowing emoji and other 4 byte unicode characters to work. --- diff --git a/classes/rssutils.php b/classes/rssutils.php index 3315d9f8..b69bb25a 100755 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -767,7 +767,7 @@ class RSSUtils { _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") { + if (DB_TYPE == "mysql" && MYSQL_CHARSET != "UTF8MB4") { foreach ($article as $k => $v) { // i guess we'll have to take the risk of 4byte unicode labels & tags here if (is_string($article[$k])) { @@ -1053,7 +1053,7 @@ class RSSUtils { $e->type, $e->length, $e->title, $e->width, $e->height); // Yet another episode of "mysql utf8_general_ci is gimped" - if (DB_TYPE == "mysql") { + if (DB_TYPE == "mysql" && MYSQL_CHARSET != "UTF8MB4") { for ($i = 0; $i < count($e_item); $i++) { if (is_string($e_item[$i])) { $e_item[$i] = RSSUtils::strip_utf8mb4($e_item[$i]);