Перейти к контенту
  • 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;
}

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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