Перейти к контенту
  • 0

После обновления пропали опросы


6yktonox

Вопрос

Имеется дамп базы данных форума 1.3 Final (изначально база хранилась в cp1251), далее по инструкции сконвертировал базу в utf8.

После автоматического апгрейда форума до актуальной версии 3.1.3 пропали все имеющиеся опросы.

После нескольких попыток сделал следующим образом. сконвертировал часть базы в utf8, а таблицу inb_polls оставил без изменений - в cp1251, далее произвел автоматическое обновление до 3.1.3. Опросы в темах остались, но естественно в нечитабельном виде. После этого я экспортировал таблицу inb_polls, сконвертировал её в utf8, и залил обратно. Опросы стали читабельны. Но при попытке проголосовать за один из вариантов - опрос слетал.

Проблему я нашел, только не пойму как с ней разобраться.

 

Данные из таблицы inb_polls (после конвертации в cp1251, и дальнейшей конвертацией в utf8)

============================================================

a:1:{i:1;a:3:{s:8:"question";s:23:"Какой у вас телефон ???";s:6:"choice";a:10:{i:0;s:5:"NOKIA";i:1;s:7:"SIEMENS";i:2;s:13:"SONY ERICSSON";i:3;s:7:"SAMSUNG";i:4;s:7:"ALCATEL";i:5;s:7:"PHILIPS";i:6;s:8:"MOTOROLA";i:7;s:2:"LG";i:8;s:3:"FLY";i:9;s:6:"ДРУГОЙ";}s:5:"votes";a:10:{i:0;i:21;i:1;i:30;i:2;i:15;i:3;i:29;i:4;i:1;i:5;i:0;i:6;i:20;i:7;i:9;i:8;i:0;i:9;i:12;}}}

============================================================

Данные из таблицы после создания аналогичного опроса (с таким видом опросы не слетают).

a:1:{i:1;a:3:{s:8:\"question\";s:39:\"Какой у вас телефон ???\";s:6:\"choice\";a:10:{i:1;s:5:\"NOKIA\";i:2;s:7:\"SIEMENS\";i:3;s:13:\"SONY ERICSSON\";i:4;s:7:\"SAMSUNG\";i:5;s:7:\"ALCATEL\";i:6;s:7:\"PHILIPS\";i:7;s:8:\"MOTOROLA\";i:8;s:2:\"LG\";i:9;s:3:\"FLY\";i:10;s:12:\"ДРУГОЙ\";}s:5:\"votes\";a:10:{i:1;i:21;i:2;i:30;i:3;i:15;i:4;i:29;i:5;i:1;i:6;i:0;i:7;i:20;i:8;i:9;i:9;i:0;i:10;i:12;}}}

=============================================================

как вы можете догадаться значения s:** не изменяются лишь там, где указан вариант использующий латиницу, там-же где используются символы кириллицы - значение s:** другое.

Что такое S, чему оно равно? Байтность?

проблема усугубляется тем, что на моем форуме около 1000 опросов, и их нельзя терять.

Помогите сконвертировать опросы без танцев с бубнами.

 

PHP 5.2.14, mysql-server 5.0.91-log, Apache/2.2.17 (Unix)

Изменено пользователем 6yktonox
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

После автоматического апгрейда форума до актуальной версии 3.1.3 пропали все имеющиеся опросы.

Угу. Это глюк IP.Board

 

Помогите сконвертировать опросы без танцев с бубнами.

Я мучил invisionpower.com. Их заинтересовала проблема, попросили доступ к форуму. Исправили.

 

Ошибку обещали пофиксит в следующей версии, но значит не исправили.

 

Пишите в тех. поддержку по месту покупки форума.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я мучил invisionpower.com. Их заинтересовала проблема, попросили доступ к форуму. Исправили.

 

Ошибку обещали пофиксит в следующей версии, но значит не исправили.

 

Пишите в тех. поддержку по месту покупки форума.

В тех. поддержку написал, хотелось бы решить эту проблему своими силами, т.к. форум "тяжелый" и пока действующий форум 1.3 не трогаю, тренируюсь на локальном хосте. Обновление действующего форума планирую позже, и не хотелось бы зависеть от саппорта когда начну полный перенос.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В тех. поддержку написал, хотелось бы решить эту проблему своими силами, т.к. форум "тяжелый" и пока действующий форум 1.3 не трогаю, тренируюсь на локальном хосте.

Возможно у вас другое. Может лучше обновить форум до 2.3.6 Посмотреть все ли работает, а потом продолжить

 

Обновление действующего форума планирую позже, и не хотелось бы зависеть от саппорта когда начну полный перенос.

Поступал аналогично, но проблему с опросами, заметил позже.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Возможно у вас другое. Может лучше обновить форум до 2.3.6 Посмотреть все ли работает, а потом продолжить

Покупал лицензию 3 версии. Есть ли возможность скачать 2.3.6?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Покупал лицензию 3 версии.

Насколько я помню, при покупке версия форума не оговаривается

 

Есть ли возможность скачать 2.3.6?

Да. В клиентцентре

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Проблема в сериализации данных опросов. Напишите в КЦ, Вам обязательно подскажут, как исправить эту проблему.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

В более новых версиях опросы конвертируются такой конструкцией:
 

/**
* Rebuild polls
* Ensures that serialized polls are correctly converted to utf8
*/
public function rebuildPolls()
{
$this->DB->build( array( 'select' => 'pid, choices', 'from'	 => 'polls' )
);
$o = $this->DB->execute();

while( $row = $this->DB->fetch( $o ) )
{
$row['choices'] = preg_replace('!s:(\d+):"(.*?)";!se',
"'s:'.strlen('$2').':\"$2\";'", $row['choices'] );
$this->DB->update( 'polls', array( 'choices' => $row['choices'] ), 'pid = '
. $row['pid'] );
}

$this->registry->output->addMessage( "Обновление опросов
завершено." );
$this->request['workact'] = 'finish';
$this->request['st'] = 0;
}

Т.е. после изменения кодировки серализованные массивы стали невалидны, т.к. изменилась длина русских строк. Нужно перестроить эти массивы.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.