Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Bupyc 666

Ошибка при переносе форума из vB на IPB

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

Здравствуйте возникла проблема при переносе форума из vBulletin 4.0.3 на IPB 3.2.3, пользуюсь официальным конвертером, все идет нормально до тех пор, пока в одной из таблиц конвертер не сталкивается с русскими буквами, тогда выдается ошибка: "Возникла ошибка при работе с базой данных. К сожалению, на данный момент из-за технических проблем с базой данных, форум не может обработать ваш запрос. О проблеме уже сообщено администрации форума. Приносим свои извинения за причиненные неудобства", таблицы воблы изначально были в utf8, но даже после изменения кодировки на cp1251, ошибка не уходит. Прошу помощи!

Поделиться сообщением


Ссылка на сообщение

Покажите проблемный запрос из логов /cache/sql_error*

Поделиться сообщением


Ссылка на сообщение

Вот:

 

Date: Fri, 09 Mar 2012 11:30:17 +0000
Error: 1366 - Incorrect string value: '\xF0\xB0\xF0\xBB\xF0\xB5...' for column 'members_l_display_name' at row 1
IP Address: 127.0.0.1 - /admin/index.php?adsess=ae443e61339f82dc47cad6ff98b29222&app=convert&app=convert&module=board&section=vbulletin&do=members&st=&cycle=250&total=72
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: INSERT INTO ipbmembers (`title`,`last_visit`,`last_activity`,`last_post`,`posts`,`time_offset`,`bday_day`,`bday_month`,`bday_year`,`ip_address`,`misc`,`warn_level`,`conv_password`,`name`,`member_group_id`,`email`,`joined`,`member_login_key`,`member_login_key_expire`,`members_display_name`,`members_seo_name`,`members_l_display_name`,`members_l_username`,`members_pass_hash`,`members_pass_salt`,`mgroup_others`,`allow_admin_mails`) VALUES('????????N?????',1285963446,1285965180,1285962360,2,3,0,0,0,'94.233.112.166','',0,'8f7d52e1e86a3d077cfa9ee69d77517c','?°?»?µ??N??µ??',3,'XsilentXwindX@yandex.ru',1285958040,'b34065b5c3c9fbbcf43bab86e27c3988',1331897417,'?°?»?µ??N??µ??','%d0%b0%d0%bb%d0%b5%d0%ba%d1%81%d0%b5%d0%b9','?°?»?µ??n??µ??','?°?»?µ??n??µ??','','','',1)
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| Z:\home\192.168.0.111\www\admin\applications_addon\ips\convert\sources\lib_master.php| [db_main_mysql].insert                                                        | 1383              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| Z:\home\192.168.0.111\www\admin\applications_addon\ips\convert\modules_admin\board\vbulletin.php| [lib_master].convertMember                                                    | 783               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
|                                                                            | [admin_convert_board_vbulletin].convert_members                               |                   |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| Z:\home\192.168.0.111\www\admin\applications_addon\ips\convert\modules_admin\board\vbulletin.php| [].call_user_func                                                             | 195               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| Z:\home\192.168.0.111\www\admin\sources\base\ipsController.php              | [admin_convert_board_vbulletin].doExecute                                     | 302               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

Поделиться сообщением


Ссылка на сообщение

Судя по всему данные в одной кодировке, сравнение у таблицы другая, а из бд данные запрашиваются еще в какой-то кодировке. Тут даже у этой строки пакоцаная кодировка "\xF0\xB0\xF0\xBB\xF0\xB5".

Капайте в ее сторону.

Поделиться сообщением


Ссылка на сообщение

Хм, понятно, что копать нужно в эту сторону. Уже и так стоят кодировки обоих баз cp1251, всех таблиц в базах cp1251 и у всех полей в таблицах тоже cp1251. Куда дальше копать, что-то непонятно. Может быть где то в конвертере надо выставить cp1251?

Поделиться сообщением


Ссылка на сообщение

Через phpmyadmin в таблице пользователей vB нормально видны ники?

 

Уже и так стоят кодировки обоих баз cp1251,

Конвертер работает только с базами в UTF8, о чем четко написано в инструкции - "если сторонняя база не в UTF8 - её надо перекодировать перед конвертированием". А вы сделали диаметрально противоположное. Вот только скрипт при старте выполняет "set names", и, естественно, давится кракозябрами.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Спасибо за разъяснения, но, к сожалению, и в этой кодировке работать не хочет в логах все тоже. Вот скрины:

 

8da3115c0892.jpg

 

11f6ba382c71.jpg

 

62544e41d37f.jpg

 

Поделиться сообщением


Ссылка на сообщение

В данной ситуации все довольно сложно. Я могу сказать, как обойти конкретно данную ошибку - нужно в файле

/upload/admin/applications_addon/ips/convert/sources/lib_master.php найти и закомментировать эти строки:

	$members['members_l_display_name']	= strtolower($displayname);
	$members['members_l_username']		= strtolower($username);

А потом, уже после конвертирования, выполнить пару дополнительных SQL-запросов.

 

Но сам факт, что на этом этапе у вас на входе микс из разных кодировок, и strtolower крошит все в еще большее мессиво, как бы намекает, что все конвертирование скорее всего так просто успехом не закончится. Более того, если у вас после приведения двух баз к utf8 осталась в точности такая же ошибка конвертирования, то новости еще хуже - сам IP.Board явно использует не utf8 при взаимодействии с MySQL, что, скорее всего, не позволит ему нормально работать, а в результате конвертирования вы получите форум с кракозябрами и вопросиками...

 

Понятия не имею, что там у вас с конфигурацией сервера и как вы эту кашу заварили, но расхлебывать её надо явно не посредством форумного общения. Настоятельно рекомендую заказать платное конвертирование и конфигурирование сервера в IPS.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Спасибо огромное базу перенес, хоть и с горем пополам. Но проблемка все же есть, во всех таблицах данные есть и они читабельны, в АЦ тоже все читабельно, а вот на главной форума не отображается ни категорий, ни тем. Кеш чистил, статистику пересчитывал, конвертер заблокировал. Что сделал не так?

Поделиться сообщением


Ссылка на сообщение

Права форумов настроили?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Совсем про это забыл :rolleyes: Осталась одна проблемка: новых пользователей не показывает в списке пользователей, там висит только мой ник

Поделиться сообщением


Ссылка на сообщение

"Пара запросов", которые надо было выполнить, раз уж вы пошли таким путем:

 

UPDATE members SET members_l_display_name = LOWER(members_display_name), members_l_username = LOWER(name);

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Не дождался вашего сообщения, сделал все ручками. :) Спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...