PDA

Показать полную графическую версию : MySQL и кирилица. Перенос БД


WebCode
01-04-2006, 15:20
Здравствуйте.

Возникла следующая проблема: у меня около 100 сайтов на сервере (прав root нет), каждый с БД, необходимо перенести сайты на другой сервер. На обоих серверах стоит WHM, т.е. я с одного сервера выгружаю бекапы на другой, а там их восстанавливаю. Все хорошо, но возникает проблема с русскими данными в БД. Т.е. после восстановления баз скрипты отображают "????".

Это известная мне проблема, в единичных случаях я решаю её запросом

mysql_query("SET NAMES cp1251");

Вопрос: есть ли способ решить вопрос глобально, что бы не приходилось с каждым сайтом отдельно возиться?

P.S. Оба сервера: CentOS 4.3/MySQL 4.1.14

Заранее благодарю за любые рекомендации, предложение, советы.

С Уважением, WebCode

vadimiron
01-04-2006, 23:22
WebCode
в ини файл mysql сервера в раздел SERVER нужно записать
init-connect="SET NAMES cp1251"

тоже самое что и mysql_query("SET NAMES cp1251"); , но действует на все запросы

Prisoner
03-04-2006, 02:35
Судя по тому, что нет рутовых прав, не факт, что получится. Самое простое, что приходит на ум - писать скриптик который будет исполнять дампы, предваряя каждое исполнение установкой кодировки. Обертка.

WebCode
03-04-2006, 09:43
Prisoner, именно, прав рута нету.

vadimiron, а если у кого-то UTF-8 или KOI8-R?

vadimiron
03-04-2006, 19:45
WebCode
это всё равно для какой кодировки, если её mysql поддерживает, то можно смело указывать

WebCode
05-04-2006, 11:05
init-connect="SET NAMES cp1251" - привело к тому, что часть старых сайтов, где кодировка БД cp1251, перестали отображать русские буквы :(.

Prisoner
05-04-2006, 14:02
Закономерно, установка-то глобальная.




© OSzone.net 2001-2012