From d10ba6cbe1b0ecbca3dedeb8da3df827c5ab3de7 Mon Sep 17 00:00:00 2001 From: Matthew Wire Date: Tue, 30 Jun 2020 14:18:00 +0100 Subject: [PATCH] SET NAMES utf8mb4 --- CRM/Core/DAO.php | 2 +- CRM/Utils/File.php | 2 +- Civi/Test/Data.php | 2 +- install/civicrm.php | 4 +--- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/CRM/Core/DAO.php b/CRM/Core/DAO.php index 056c3a9a33cd..42d07846aaf9 100644 --- a/CRM/Core/DAO.php +++ b/CRM/Core/DAO.php @@ -178,7 +178,7 @@ public static function init($dsn) { } CRM_Core_DAO::executeQuery("SET SESSION sql_mode = %1", [1 => [implode(',', $currentModes), 'String']]); } - CRM_Core_DAO::executeQuery('SET NAMES utf8'); + CRM_Core_DAO::executeQuery('SET NAMES utf8mb4'); CRM_Core_DAO::executeQuery('SET @uniqueID = %1', [1 => [CRM_Utils_Request::id(), 'String']]); } diff --git a/CRM/Utils/File.php b/CRM/Utils/File.php index 3ad79207b671..ff1bccb6bf59 100644 --- a/CRM/Utils/File.php +++ b/CRM/Utils/File.php @@ -334,7 +334,7 @@ public static function runSqlQuery($dsn, $queryString, $prefix = NULL, $dieOnErr if (CRM_Utils_Constant::value('CIVICRM_MYSQL_STRICT', CRM_Utils_System::isDevelopment())) { $db->query('SET SESSION sql_mode = STRICT_TRANS_TABLES'); } - $db->query('SET NAMES utf8'); + $db->query('SET NAMES utf8mb4'); $transactionId = CRM_Utils_Type::escape(CRM_Utils_Request::id(), 'String'); $db->query('SET @uniqueID = ' . "'$transactionId'"); diff --git a/Civi/Test/Data.php b/Civi/Test/Data.php index 8cada62629b6..9360484f29b4 100644 --- a/Civi/Test/Data.php +++ b/Civi/Test/Data.php @@ -18,7 +18,7 @@ public function populate() { \Civi\Test::schema()->setStrict(FALSE); // Ensure that when we populate the database it is done in utf8 mode - \Civi\Test::execute('SET NAMES utf8'); + \Civi\Test::execute('SET NAMES utf8mb4'); $sqlDir = dirname(dirname(__DIR__)) . "/sql"; if (!isset(\Civi\Test::$statics['locale_data'])) { diff --git a/install/civicrm.php b/install/civicrm.php index ed2df94303ef..c6fdaf10df2d 100644 --- a/install/civicrm.php +++ b/install/civicrm.php @@ -145,9 +145,7 @@ function civicrm_source($dsn, $fileName, $lineMode = FALSE) { if (PEAR::isError($db)) { die("Cannot open $dsn: " . $db->getMessage()); } - $db->query("SET NAMES utf8"); - - $db->query("SET NAMES utf8"); + $db->query('SET NAMES utf8mb4'); if (!$lineMode) { $string = file_get_contents($fileName);