четверг, 4 августа 2011 г.

Кодировочка в крокозяблочках

Столкнулся сегодня с крокозяблами в базе Centreon, который ставил не я, залез в мускуль, а там кодировочка у базы latin1. Замечательно просто. Потребовалось сменить кодировку по-умолчанию, ну и существующие кодировки у всех таблиц в базе.
Если с первой задачей было покончено быстро путём

ALTER DATABASE `centreon2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

то для второй нашел в инете запрос, который генерирует скриптик для выполнения этих операций со всеми таблицами в базе. Ограничение - работает только с 5-м мускулем.

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as sqlcode
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = 'db_name'
ORDER BY 1;

db_name замените на имя своей базы данных (схемы), а utf8 на нужную вам кодировку.

Комментариев нет:

Отправить комментарий