fetchAll("select distinct table_name, column_name, column_type, character_set_name from information_schema.columns WHERE table_schema = '$dbs_tiki' and (character_set_name IS NOT NULL AND column_type <> 'char(1)' AND column_type <> 'varchar(1)')"); $pairs = []; foreach ($text_fields as $field) { extract($field); $values = $db->fetchAll("select `$column_name` value from `$table_name`"); foreach ($values as $value) { if (ctype_alpha($value['value']) || empty($value['value'])) { continue; } file_put_contents('/tmp/data', $value['value']); $output = trim(`enca -L none /tmp/data`); if (0 === strpos($output, 'Universal transformation format 8 bits; UTF-8')) { $db->query("UPDATE `$table_name` SET `$column_name`=CONVERT(CONVERT(CONVERT(CONVERT(`$column_name` USING binary) USING utf8) USING latin1) USING binary) WHERE `$column_name` = ?", [$value['value']]); } } }