diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index 269d276d338..8e8aa5017ce 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -1079,11 +1079,16 @@ if ($ok && GETPOST('force_utf8_on_tables','alpha')) if ($db->type == "mysql" || $db->type == "mysqli") { - $listoftables = $db->DDLListTables($db->database_name); + $force_utf8_on_tables = GETPOST('force_utf8_on_tables','alpha'); + + $listoftables = $db->DDLListTables($db->database_name); // Disable foreign key checking for avoid errors - $sql='SET FOREIGN_KEY_CHECKS=0'; - $resql = $db->query($sql); + if ($force_utf8_on_tables == 'confirmed') + { + $sql='SET FOREIGN_KEY_CHECKS=0'; + $resql = $db->query($sql); + } foreach($listoftables as $table) { @@ -1094,7 +1099,7 @@ if ($ok && GETPOST('force_utf8_on_tables','alpha')) print $table; $sql='ALTER TABLE '.$table.' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci'; print ''; - if (GETPOST('force_utf8_on_tables','alpha') == 'confirmed') + if ($force_utf8_on_tables == 'confirmed') { $resql = $db->query($sql); print ' - Done ('.($resql?'OK':'KO').')'; @@ -1104,8 +1109,11 @@ if ($ok && GETPOST('force_utf8_on_tables','alpha')) } // Enable foreign key checking - $sql='SET FOREIGN_KEY_CHECKS=1'; - $resql = $db->query($sql); + if ($force_utf8_on_tables == 'confirmed') + { + $sql='SET FOREIGN_KEY_CHECKS=1'; + $resql = $db->query($sql); + } } else {