Выборка таблиц? Надо поменять колировки во всех таблицах(больше 100)

q3000

Новичок
Выборка таблиц? Надо поменять кодировки во всех таблицах(больше 100)

База по ошибке была создана в utf8_BIN(представление в бинарных числах). Мне надо перегнать всю базу в utf8_unicode_ci(потому что хостинг рубит на пробелы все представления в числах там где текстовые поля)

Работают отдельные комманды типа ALTER TABLE 'sss' DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci, а хочу автоматом так перегнать всю базу включая все поля в таблицах созданные с BIN сравнении на utf-8_unicode_ci сравнение.

например уже
ALTER TABLE * DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci не работает.
Попробовал нарисовать сценарий php

<?
//-----------подсоеденяем базу
$db=mysql_connect("localhost","dbase1","pass");
mysql_select_db("dbase1",$db);
if (!$db) echo "database is down";

//-------------делаем выборку таблиц
$res1=mysql_query("SELECT * FROM dbase1");

// ----------в цикле меняем нужную кодировку с подборкой
while ($myrow=mysql_fetch_array($res1));
{
$res2=mysql_query("ALTER TABLE '$myrow['TABLE']' DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci")
}

?>
Выборка таблиц неверна. Как будет правильно??
 

zerkms

TDD infected
Команда форума
экспорт в дамп - импорт из дампа.

ps: collation это не кодировка и никак не влияет на представление данных.
 

q3000

Новичок
Автор оригинала: zerkms
экспорт в дамп - импорт из дампа.

ps: collation это не кодировка и никак не влияет на представление данных.
там цифры в представлении utf8_BIN. Провайдер(phpmyAdmin2.2) цифровые значения в текствовых полях рубит на смерть. Когда я импортирую базу извне

Мне надо поменять на символьное представление во всех таблицах.


COLLATION не кодировка, а представление и при импорте/экспорте теряются эти чисельные данные
 

vovanium

Новичок
Скачиваешь дампер 1.0.8 в нем выставляешь
Код:
define('CHARSET', 'auto');
define('RESTORE_CHARSET', 'forced->utf8_unicode_ci');
делаешь дамп, а потом восстанавливаешь. Дампер изменит сравнение.
А ALTER не меняет кодировки, он меняет кодировку/сравнение по умолчанию для создаваемых столбцов.
 

q3000

Новичок
ахренеть!!! пролезло!
спасибо!

Collation стоило бы всетаки сменить по всей базе, чтобы новые поля не создавало с цифрами.

Collstion стоит в базе, в каждой таблице и в каждом текстовом поле

PS Все сделал. Если в одну сторону проганяешь, то оно делает только данные, в обе-все остальное
 
Сверху