/home/dev/>mysqldump -h localhost -u dev -p --default-character-set=utf8 namedb > tempdb.sql
С помощью mysqldump создать бекап (namedb - имя базы, с которой сливаем в бекап). С ключами точно не помню, тестил давненько ещё на денвере. Если что ошибся - поправлю...
/home/dev/>iconv -f utf8 -t cp1251 tempdb.sql > db.cp1251
потом конвертируем кодировку и перенаправляем вывод в перекодированную БД.
Фиксим дефолт чарсет (вспомнить не смог сам, гуглил долго):
/home/dev/> sed 's/SET NAMES utf8/SET NAMES cp1251/g' < db.cp1251 > new.db.cp1251
/home/dev/> sed 's/DEFAULT CHARSET=utf8/DEFAULT CHARSET=cp1251/g' < db.cp1251 > new.db.cp1251
В общем, формат такой - берём сконвертенный дамп, и меняем флаг кодировки.
В дальнейшем восстанавливаем дамп.
Если же требуется только вывод на сайт с кодировкой cp1251 можно попробовать поиграться со строкой подключения к MySql чем конвертить базу.
volker, возможно, я где-то и ошибся, но... должно работать по-идее.
|