Как правильно перенести базу Друпала?

Главные вкладки

Аватар пользователя theque theque 20 апреля 2005 в 18:04

Блин... запарился...
Существует ли точный ответ на такой вопрос:
КАК ПРАВИЛЬНО ПЕРЕНЕСТИ БАЗУ ДРУПАЛА?

Уточняю: перепробовал всевозможные варианты вариантов кодировок utf-8
(utf8_bin, utf8_unicode_ci, utf8_general_ci)
Во всех случаях вместо буквы "ш" - квадратик.
Это раз.

Два:
Удаляю базу. Создаю пустую. Кодировки не трогаю(по умолчанию cp1251_general_ci), импортирую дефолтовый дамп друпала.
Импортирую перевод - все нормально.
Делаю Експорт дампа - потом импорт обратно - все... %опа... все русские буквы превратились в *ФІ%?;В*

Три:
Почему друпал импортированный язык держит в базе в утф, а все что добавляешь на сайте - вообще хрен знает в какой кодировке?

Где блин хваленная супер совместимость??

Или я чего недопонимаю... или... даже не знаю что сказать...

Может кто обьяснит?

Комментарии

Аватар пользователя Nick Nick 20 апреля 2005 в 21:21

Расскажи, как ты делаешь импорт и экспорт дампа...

А.. да .. есть еще такая штука...
В includes/database.mysql.inc в функцию
function db_connect($url) {
перед строкой return $connection;
добавь строку
mysql_query("set charset utf8");

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя theque theque 21 апреля 2005 в 18:06

[b]Спасибо тебе, о человек! :)[/b]
Вот так mysql_query("set charset utf8") заработало...

Блин... ну буржуев мне наверное никогда не понять... что же им влом было эту строчку дописать....

Аватар пользователя axel axel 16 августа 2005 в 16:14

Либо глобально в mysqld должен быть запущен с опциями работы в utf8. В /etc/mysql/my.cnf д.быть прописано:

character-set-server=utf8
default-character-set=utf8

Но поскольку на хостингах mysql не всегда по умолчанию под utf8 работает, то значит надо указывать кодировку явно в скриптах. Вообще, если я правильно понимаю, хуже от этого не будет и в друпале такая строчка бы не помешала. Не знаю, почему её не включили.

--
Axel,
www.axel.drupal.ru | darcs-репозиторий моих разработок

Аватар пользователя Алексей Алексей (не проверено) 21 апреля 2005 в 15:25

В блокноте windows есть Юникод и utf-8 - штуки разные. Можно и win-1251, а что такое cp1251_general_ci - то же самое или нет?
Дамп делается:
#mysqldump -u пользователь_хозяин -p пароль названиебазы > дампбазы.sql
Никаких проблем.