SET NAMES utf8mb4
authorMatthew Wire <mjw@mjwconsult.co.uk>
Tue, 30 Jun 2020 13:18:00 +0000 (14:18 +0100)
committerMatthew Wire <mjw@mjwconsult.co.uk>
Tue, 30 Jun 2020 13:18:09 +0000 (14:18 +0100)
CRM/Core/DAO.php
CRM/Utils/File.php
Civi/Test/Data.php
install/civicrm.php

index 056c3a9a33cd43a55777ec4b0971762df7459363..42d07846aaf95bad6293b897e59fc4171818569c 100644 (file)
@@ -178,7 +178,7 @@ class CRM_Core_DAO extends DB_DataObject {
       }
       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']]);
   }
 
index 3ad79207b6711b83df29cfa8e54449c9c3f6b2a2..ff1bccb6bf59327a81bdd6e17203f0ac71323789 100644 (file)
@@ -334,7 +334,7 @@ class CRM_Utils_File {
     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'");
 
index 8cada62629b6cb198f3ad8cc6b5c6056bc29c390..9360484f29b427f2373170cbe067dd079f52a975 100644 (file)
@@ -18,7 +18,7 @@ class Data {
       \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'])) {
index ed2df94303effa1093b915be4a40d3f8f24c79a2..c6fdaf10df2d32616fcf4d71c97dbe23b7a005c1 100644 (file)
@@ -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);