VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Была версия форума 3.8.4 решил обновиться на 3.8.8 pl1 но на обновление до 3.8.8 beta 4 всё встало, решил скачать (от сюда) 3.8.9 beta 4, в процессе обновления на последнем этапе возникла проблема с языковым файлом админки (закачен был переведённый от vb388b2_zCarot_rus_utf8) возможно проблема была в этом, заменил оригинальными файлами, но не помогло выдавало всё равно ошибку, пропустил эти два шага, закончил установку, но теперь в админке ничего не открывает и не могу даже включить форум. Как это можно исправить и загрузить оригинальный файл для работы админки?
SiriuS добавил 09.02.2015 в 00:25
Выдаёт ошибки
Quote:
Step 2) Import latest admin help
Importing vbulletin-adminhelp.xml
Parse error: syntax error, unexpected T_FUNCTION in /home/includes/adminfunctions_language.php on line 966
Quote:
Step 3) Import latest language
Parse error: syntax error, unexpected T_FUNCTION in /home/includes/adminfunctions_language.php on line 966
Last edited by SiriuS : 02-09-2015 at 01:25 AM.
Reason: Добавлено сообщение
kerk'a решил-таки обновить булку. Была 3.8.0 (лицензия), поставил сверху нулл «vBulletin 3.8.9 Null vBSupport.org» из архива.
Столкнулся с проблемой ТС, на последнем этапе возникла проблема с языковым файлом админки. Я их благополучно пропустил, но в итоге полетела кодировка — «???».
Загуглил в буржнете, вроде бы требуется версия PHP повыше. Сделал. Провел апдейт заново. В итоге кодировка — «РЎРѕРѕР±С‰РµРЅРёРµ ».
Ну и я мытарствовал в треде о кодировке, все попробовал, результата нет. Если в ini.php добавлять строки, так вообще форум выдает HTTP ERROR 500.
Интересная особенность, после апдейта не открывались страницы постов, только разделы. А я еще я закрыл форум перед началом манипуляций, а теперь не могу попасть в админку — не пускает под аминистратором — «Database error».
Откатить взад я могу, бэкапы есть, но хотелось бы уж апдейтиться по-максимуму, потенциальные угрозы прикрыть.
Самостоятельно не получается разобраться. Впервые столкнулся с определением кодировки в БД. В аттаче скрин из phpMyAdmin. Две строчки таблицы «utf8_general_ci» (интересно, почему не просто utf8?), остальные строчки «cp1251_general_ci». Так в какой кодировке все-таки БД?
[/url]
Или вот определить кодировку MySQL — это вообще как?
Далее надо определить соединение MySQL и БД, так?
Ну и в конце надо сопоставить с кодировкой файлов php?
Форум работает с 2006-го, люди с непривычки начинают нервничать. :-)
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,742
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20271
Репутация в разделе: 8437
1
Quote:
Originally Posted by Singo
в какой кодировке все-таки БД?
в самом низу всей таблицы, последняя строка - это и есть ваша кодировка БД
все таблицы, которые начинаются с префикса *aggregate_ - удалить, это мусор в БД, вобла создает такие временные таблицы для оптимизации (обновление счетчиков просмотра тем/аттачей)
и затем удаляет, но остаются они в БД вследствие каких то ошибок/глюков в движке
для корректного отображения символов на форуме, в конфиге должна быть указана кодировка: utf8 или cp1251
и только после этого устанавливать/обновлять движок
посмотрите, в какой кодировке символы в таблицах/текстовых полях таблиц
сделайте скрин поля pagetext из таблицы post
@Singo
Продвинутый
Join Date: Oct 2008
Location: Санкт-Петербург
Posts: 40
Версия vB: 3.8.x
Пол:
Reputation:
Novice 9
Репутация в разделе: 7
0
Quote:
Originally Posted by kerk
все таблицы, которые начинаются с префикса *aggregate_ - удалить
Буду знать, удалил, спасибо!
Quote:
Originally Posted by kerk
для корректного отображения символов на форуме, в конфиге должна быть указана кодировка: utf8 или cp1251
и только после этого устанавливать/обновлять движок
Сейчас там указано: $config['Mysqli']['charset'] = 'utf8'; — но это же для Mysqli?
Скрин 1 — конец таблицы, utf8 вроде бы. Интересно, указан размер 278мб, хотя в панели хостера около 800мб. Вообще такой размер нормален для форума со 100к+ сообщений и 2к пользователей?
Скрин 2 — скрин поля pagetext из таблицы post (вроде бы ничего не испортил)
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,742
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20271
Репутация в разделе: 8437
1
ну вот сами посмотрите, в конфиге - UTF8, база в UTF8, а все таблицы БД в cp1251
так НЕ правильно, все текстовые поля в таблицах, как собственно и сами таблицы, должны быть в кодировке базы данных, т.е. UTF8
что сейчас можно сделать для исправления ситуации...
сделать дамп БД и скачать на комп
открыть дамп каким то текстовым редактором, который может переварить объемные файлы
убедиться, что русский текст в файле отображается корректно
затем сделать поиск/замену в файле, всех вхождений DEFAULT CHARSET=cp1251 на DEFAULT CHARSET=utf8
сохранить изменения
затем создать новую БД и импортировать новый дамп туда, что бы не ухайдокать рабочую базу данных (например EmEditor, открывает гиговые файлы без проблем)
подключить форум к этой базе и проверить на работоспособность форум
проверить записи в таблицах
и т.д...
если все нормально, можете оставить все как есть на этой БД, ну или импортировать дамп в рабочую базу
да, перед созданием дампа, обязательно перенести все файлы из БД в файловую систему (в админке), вложения, картинки альбомов, аватары и прочее, если это еще не сделано ранее
иначе, существует возможность, потерять все это - разные кодировки
и еще, для тройки, желательно, что бы таблицы БД были в MyISAM а не в InnoDB
это нужно для полнотекстового поиска по базе
в архиве скрипт который сконвертирует все таблицы из InnoDB в MyISAM convert_Engine_DB.zip (651 байт)
загрузить в корень форума и выполнить в браузере
после окончания процедуры - удалить
перед созданием дампа, удалите из админки русский язык, возможно там будут косяки в кодировках
ну и размер дампа меньше будет
язык можно установить когда угодно
@Singo
Продвинутый
Join Date: Oct 2008
Location: Санкт-Петербург
Posts: 40
Версия vB: 3.8.x
Пол:
Reputation:
Novice 9
Репутация в разделе: 7
0
Очень благодарен вам за такое подробное участие.
Что имею к данному часу.
1. Экспортировал БД из phpMyAdmin (это же ничего?).
2. Дамп прошерстил автозаменой DEFAULT CHARSET=cp1251 на DEFAULT CHARSET=utf8. EmEditor — монстр! Понадеялся на Нотепад++, но тот копыта откинул на поиске. А база-то всего 300 метров.
3. Создал новую БД. Далее попробовал залить через тот же phpMyAdmin, но не получилось. Очистил БД. Поставил Sypex Dumper, он отказался работать на этом сайте из-за версии php 7 (да, это я понял впоследствии), откатил php до 5.6. Все-таки импортировал через Sypex дамп в новую базу.
4. Отредактировал config.php (напомню, там раскомментирован $config['Mysqli']['charset'] = 'utf8';).
5. В .htaccess каталога форума указал:
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetSourceEnc utf-8
CharsetDefault utf-8
</IfModule>
Итог — визуально ничего не изменилось. Однако в phpMyAdmin у таблиц теперь строго utf8_general_ci! Половина победы — уже победа :-)
Большинство таблиц в InnoDB. Ага, закинул скрипт в site/forum/convert_Engine_DB.php — форум запустить не дает (напомню, он в закрытом режиме сейчас). Перезалил скрипт в корень, при обращении — пуста страница. Тип таблиц остался прежним.
И меня до сих пор не впускает в админку! А это значит, что:
1. Я не смог перенести все файлы из БД в каталоги, но скорее всего это сделано ранее. Плюс абсолютно не кретично, т.к. Вложения, Альбомы и пр. отключены на форуме, изображения хостятся отдельно на скрипте на поддомене.
2. Я не удалил из админки русский язык.
Кстати, перед тем, как меня выкинуло из админки, я зашел «на ощупь» в настройки, в раздел открытия/закрытия форума, там есть поле для вывода сообщения пользователям. Естественно, там были «???», ну я ради интереса удалил и написал заново латинскими, и сообщение вывелось без проблем. Т.е. на всем форуме проблема с кодировкой, а это сообщение нормально выводится.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,742
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20271
Репутация в разделе: 8437
1
Quote:
Originally Posted by Singo
попробовал залить через тот же phpMyAdmin, но не получилось
вообще то, лучше дамп создавать/восстанавливать из консоли SSH, даже рут не требуется, если узер БД не рут
mysql -h localhost -u DBuser -pDBpassword DBname < /path/to/DBname.sql
Quote:
Originally Posted by Singo
В .htaccess каталога форума указал
если в конфиге указана кодировка, телодвижения с хтаксесс, могут не понадобиться =)
Quote:
Originally Posted by Singo
закинул скрипт в site/forum/convert_Engine_DB.php — форум запустить не дает
временно отключите защиту в хтексесс, на время работы скрипта
там никакие права не проверяются, по этому я и упоминал об удалении скрипта после его работы скрипт должен быть именно в корне форума а не сайта
Quote:
Originally Posted by Singo
абсолютно не кретично, т.к. Вложения, Альбомы и пр. отключены на форуме
аватары так же перенесены в файловую систему?
Quote:
Originally Posted by Singo
не удалил из админки русский язык.
это не важно собственно, просто дамп был бы меньше размером и легче редактору работать с текстом
во всех текстовых полях в настройках форума могут появиться "вопросики", это можно отредактировать и после восстановления исправленного дампа
да, а после импортирования дампа, количество таблиц совпадает с тем, что было при экспорте?
@Singo
Продвинутый
Join Date: Oct 2008
Location: Санкт-Петербург
Posts: 40
Версия vB: 3.8.x
Пол:
Reputation:
Novice 9
Репутация в разделе: 7
0
Я все не унимался и продолжал строить гипотезы проблемы. Вашего сообщения сверху не читал.
Так вот, снес БД, снес файлы. Восстановил версию форума за вчерашний день. Только теперь уже форум не закрывал.
Взял дамп базы и автозаменой сделал DEFAULT CHARSET=utf8. Далее залил файлы 3.8.9 — провел апдейт без проблем. В прошлый раз я провел апдейт с ошибкой, и только после этого начал конвертить БД.
В итоге, кодировка по-прежнему агрилась, но теперь у меня был открыт форум. Что мне это дало? Да ничего, просто теперь мог наблюдать кривую кодировку в постах :-)
Админка по-прежнему не впускала. И, как я верно предположил, из-за логина админа на латинском — с кривой кодировкой логин неверно интерпретировался.
У меня был под рукой тестовый акканут из группы «Пользователи», в конфиге добавил его адишник. Он получил привилегии просматривать все разделы, удалять и редактировать сообщения, но... его НЕ впускала админка. Все-таки нужно группу присвоить... из админки!
Тогда я припомнил, что много лет назад меня смущал логин админа на латинице, и я создал на черный день запасного админа с логином на английском. Его админка приняла!
«На ощупь» зашел в «Языки и фразы», там переключил дефолт на английский. И действительно, все системные фразы стали отображаться ок. А у латиницы остались крокозябры, но... ДРУГИЕ! И тогда я понял, что кодировка файлов фраз и языков действуют как-то глобально на весь форум, а т.к. у меня файлы фраз старые и, вероятно, в старой кодировке, я просто снес набор русских фраз. А взамен загрузил последний набор от zCarot'а utf-8 — включил его по дефолту и — ура — все на русском!
Хтексесс отрубил и обратил таблицы в Мой Ислам, который MyISAM — все получилось!
Но вот сама БД в InnoDB — это нормально? См. скриншот:
Кстати, в phpMyAdmin новая utf8-база весит — 404.9 Мб, старая-cp1251 — 278.1 МБ. Это норм?
И тут еще возникла неприятность с заменой языков и фраз. В бытности я весьма кардинально изменял системные фразы, где-то урезал, где-то добавлял... Т.е. файл фраз был довольно уникальным и его так лихо не восстановить по памяти. Может, как-то можно старый файл языков и фраз привести к utf-8?
При открытии xml (я его захомячил перед удалением) в Нотепаде — русские символы не читаются. Хотя и новый языковой-xml zCarot'а utf-8 тоже не дает прочесть русские символы.
Quote:
Originally Posted by kerk
аватары так же перенесены в файловую систему?
Как оказалось, да :-)
Quote:
Originally Posted by kerk
да, а после импортирования дампа, количество таблиц совпадает с тем, что было при экспорте?
Удивительно, но в новой базе их на 2шт стало больше %) Вероятно, из-за полноценного процесса апдейта.
Великое спасибо за помощь! Реально, если с подобным не сталкивался, не разобраться. И не нагуглить было, но теперь хотя бы топик поможет другим.
Singo добавил 25.07.2016 в 04:14
Понял, откуда две лишние таблицы — aaggregate! :-)
Singo добавил 25.07.2016 в 04:52
Кстати, кодировка БД приведена в норму, может, надо как-то теперь проверить базу на ошибки, оптимизировать? С помощью чего лучше делать и в какой последовательности?
Last edited by Singo : 07-25-2016 at 05:52 AM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,742
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20271
Репутация в разделе: 8437
1
Quote:
Originally Posted by Singo
Но вот сама БД в InnoDB — это нормально?
да, это на серваке так настроен сервер MySQL
Quote:
Originally Posted by Singo
в Нотепаде — русские символы не читаются
в EmEditor-е все читается
если корректно символы не отображаются, нужно в менюшке выбрать другой набор символов => =>
Quote:
Originally Posted by Singo
может, надо как-то теперь проверить базу на ошибки, оптимизировать?
да прямо в админке, в диагностике
или в майадмине
выбрать из менюшки (внизу) пункт "выбрать таблицы, требующие оптимизации" => оптимизировать
Luvilla
Гость
Posts: n/a
Quote:
Originally Posted by Singo
Может, как-то можно старый файл языков и фраз привести к utf-8?
конечно
открыть любым нормальным текстовым редактором, найти вверху строку
<charset><![CDATA[windows-1251]]></charset>
и вин-1251 заменить на утф-8
сохранить файл в кодировке утф-8
Quote:
Originally Posted by Singo
При открытии xml (я его захомячил перед удалением) в Нотепаде — русские символы не читаются. Хотя и новый языковой-xml zCarot'а utf-8 тоже не дает прочесть русские символы.
хм...
то у Вас что-то не то с настройками нотепада
можете закинуть захомяченный файлик мне на почту, конвертну luvilla.sheridan@gmail.com
Quote:
Originally Posted by Singo
Но вот сама БД в InnoDB — это нормально?
это нормально
если будете ставить новые хаки, которые будут создавать свои таблицы, - эти таблицы будут созданы в ИнноДБ (если в коде инсталляции хака не прописано иное)
больше ни на что это не влияет