18 апр. 2010 г.

Cp1251 -> UTF8

Да, я наконец-то сделал это. Перекодировал всю БД и сайт с кодировки Cp1251 на UTF8!

Пока только не перекодировал файлы форума, но он почему-то и так работает нормально. О_о
Но его все равно нужно перевести на кодировку UTF8, но это не критично.

Для формирования скрипта конвертации БД я использовал следующую команду:

select
CONCAT("Alter Table `", TABLE_SCHEMA,"`.`", TABLE_NAME, "`
CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Alter Table `", TABLE_SCHEMA,"`.`", TABLE_NAME, "`
DEFAULT CHARACTER SET utf8;")
as MySQLCMD from TABLES where TABLE_SCHEMA = "dbName";

Где "dbName" - название БД.

Файлики скриптов пока что перекодировал вручную с помощью Notepad++, а вот для форума нужно будет искать автоматизированное решение, потому что файлов там реально дофига.

Возникла небольшая проблема с длинными тире —. Решил ее следующим запросом:

UPDATE table SET text = REPLACE(text, '—', '—')