From d96be836c15c5dc20b380fe34fd4fdd334f55b11 Mon Sep 17 00:00:00 2001
From: Steven Wittens <steven@10.no-reply.drupal.org>
Date: Thu, 2 Feb 2006 01:27:57 +0000
Subject: [PATCH] - #40515: MySQL UTF-8 conversion fixes

---
 database/updates.inc         | 7 ++++---
 includes/database.mysql.inc  | 6 ------
 includes/database.mysqli.inc | 6 ------
 3 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/database/updates.inc b/database/updates.inc
index 7f9a509028c9..b09442529e55 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -1491,10 +1491,11 @@ function _system_update_utf8($tables) {
     }
 
     // See if database uses UTF-8 already
-    $url = parse_url($GLOBALS['db_url']);
+    global $db_url;
+    $url = parse_url(is_array($db_url) ? $db_url['default'] : $db_url);
     $db_name = substr($url['path'], 1);
-    list(, $create) = db_fetch_array(db_query('SHOW CREATE DATABASE `%s`', $db_name));
-    if (preg_match('/utf8/i', $create)) {
+    $result = db_fetch_array(db_query('SHOW CREATE DATABASE `%s`', $db_name));
+    if (preg_match('/utf8/i', array_pop($result))) {
       return array();
     }
 
diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc
index 8ee51bbe1699..fd8dd4b378a0 100644
--- a/includes/database.mysql.inc
+++ b/includes/database.mysql.inc
@@ -83,12 +83,6 @@ function db_connect($url) {
   /* On MySQL 4.1 and later, force UTF-8 */
   if (version_compare(mysql_get_server_info(), '4.1.0', '>=')) {
     mysql_query('SET NAMES "utf8"', $connection);
-    mysql_query('SET collation_connection="utf8_general_ci"', $connection);
-    mysql_query('SET collation_server="utf8_general_ci"', $connection);
-    mysql_query('SET character_set_client="utf8"', $connection);
-    mysql_query('SET character_set_connection="utf8"', $connection);
-    mysql_query('SET character_set_results="utf8"', $connection);
-    mysql_query('SET character_set_server="utf8"', $connection);
   }
   return $connection;
 }
diff --git a/includes/database.mysqli.inc b/includes/database.mysqli.inc
index 372dcc558460..68dcc8d3eb4c 100644
--- a/includes/database.mysqli.inc
+++ b/includes/database.mysqli.inc
@@ -79,12 +79,6 @@ function db_connect($url) {
 
   /* Force UTF-8 */
   mysqli_query($connection, 'SET NAMES "utf8"');
-  mysqli_query($connection, 'SET collation_connection="utf8_general_ci"');
-  mysqli_query($connection, 'SET collation_server="utf8_general_ci"');
-  mysqli_query($connection, 'SET character_set_client="utf8"');
-  mysqli_query($connection, 'SET character_set_connection="utf8"');
-  mysqli_query($connection, 'SET character_set_results="utf8"');
-  mysqli_query($connection, 'SET character_set_server="utf8"');
 
   /**
    * from: http://bugs.php.net/bug.php?id=33772
-- 
GitLab