Попытайтесь использовать mb_detect_encoding
функция . Эта функция исследует Вашу строку и попытку "предположить", каково ее кодирование. Можно затем преобразовать его, как желаемый. Как brulak предложил , однако, Вы - вероятно, более обеспеченное преобразование к UTF-8, а не от , для сохранения данных, которые Вы передаете.
Вы не можете сделать это с помощью одной команды MySQL, однако вы можете использовать MySQL для создания оператора за вас:
В оболочке MySQL или через PHPMyAdmin используйте следующий запрос
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )
AS statement FROM information_schema.tables
WHERE table_name LIKE 'myprefix_%';
Это сгенерирует оператор DROP, который вы можете затем скопировать и выполнить для удаления таблиц.
РЕДАКТИРОВАТЬ: здесь отказ от ответственности - сгенерированный выше оператор удалит все таблицы во всех базах данных с этим префиксом. Если вы хотите ограничить его определенной базой данных, измените запрос так, чтобы он выглядел так, и замените имя_базы_данных на свое собственное имя_базы_данных:
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )
AS statement FROM information_schema.tables
WHERE table_schema = 'database_name' AND table_name LIKE 'myprefix_%';
Вы можете сделать это с помощью одной команды с MySQL:
drop table myprefix_1, myprefix_2, myprefix_3;
Вам, вероятно, придется собрать тем не менее, список таблиц динамически отображается в коде.
Альтернативным подходом было бы использование библиотеки подпрограмм общего назначения для MySQL 5.