From 0ea81171860ea83a0b39be890dfba903980fe157 Mon Sep 17 00:00:00 2001 From: Cameron Date: Sun, 27 Oct 2013 22:37:34 -0700 Subject: [PATCH] Ignore core prefs table during charset conversion. --- e107_admin/db.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/e107_admin/db.php b/e107_admin/db.php index b93851cc9..0ee7b8055 100644 --- a/e107_admin/db.php +++ b/e107_admin/db.php @@ -100,11 +100,17 @@ class system_tools { public $_options = array(); + + private $_utf8_exclude = array(); function __construct() { global $mySQLdefaultdb; + + $this->_utf8_exclude = array(MPREFIX."core"); + + $this->_options = array( "db_update" => array('diz'=>DBLAN_15, 'label'=>DBLAN_16), @@ -523,6 +529,12 @@ class system_tools $invalidCollations = false; while($row = $sql->fetch()) { + if(in_array($row['Name'],$this->_utf8_exclude)) + { + continue; + } + + $text .= " ".$row['Name']." ".$row['Engine']." @@ -554,6 +566,7 @@ class system_tools
  • The conversion process can take up to one minute or much much more depending on the size of your database.
  • The conversion does not work with serialized arrays.
  • Be sure that you have followed all steps of the upgrade process first.
  • +
  • Core prefs are ignored during the conversion process due to possibility of corruption.
  • '; @@ -644,6 +657,13 @@ class system_tools while ($row = $sql->fetch()) { $table = $row['Name']; + + if(in_array($row['Name'], $this->_utf8_exclude)) + { + continue; + } + + $tab_query = "ALTER TABLE ".$table." DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; "; //echo "TABQRT= ".$tab_query;