VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
У меня проблем с русской кодировкой нет. Поставил версию 3.5.4Ru от zCarot - всё заработало сразу на великом и могучем.
Проблема возникла сейчас, когда императивно требуется интегрировать форум в CMS, работающую в UTF. (Интеграция предполагает быть довольно тесная - vBDrupal.) Т.е. нужен vB русифицированный в utf8.
На сколько я понимаю 3.5.4Ru от zCarot использует cp1256. Возможно ли (реально ли) автоматически перекодировать (ср1256 -> utf8) имеющуюся версию русификации?
В частности, более "узкий" вопрос - как перекодировать имеющуюся базу?
(Кстати, как просмотреть реальную кодироку данных в базе vB если в конфиге.пнп vB фигурирует utf8, в character_set mysql переменная - koi8, а страницы Vb кодируются cp1256 ? ... упсс, только сейчас заметил, что в конфиге строка
// $config['Mysqli']['charset'] = 'utf8';
закоментирована)
Однако, буду благодарен за любую идею, в том числе на уровне возврата к английской версии и последующему шаманству в сабж.
На сколько я понимаю 3.5.4Ru от zCarot использует cp1256. Возможно ли (реально ли) автоматически перекодировать (ср1256 -> utf8) имеющуюся версию русификации?
Админка - Языки и фразы - Менеджер языков - настройки - кодировка - cp1251 меняешь на utf-8. фсе.
Quote:
Originally Posted by Pozniy
В частности, более "узкий" вопрос - как перекодировать имеющуюся базу?
1. Выгрузи из БД все картинки и аттачи в файловую систему через Админку (есть спец. раздел - Метод хранения). Иначе они фсе запорятся. Только после этого делай дамп базы для посл. конвертации.
2. Конвертируй базу через скрипт IconV или с помощью программы UltraEdit.
p.s.: на форуме много топиков по данной теме..
@Pozniy
Продвинутый
Join Date: Jul 2006
Posts: 43
Reputation:
Опытный 27
Репутация в разделе: 14
0
Отыскал UltraEdit. Понаделывал себе дампов всеми возможными средствами (из-за неясности с кодировками). С конвертацией файла дампа, соответсвенно, проблем нет. Включил в конфиге UTF8. Даже в корень форума ".htaccess" с "AddDefaultCharset UTF8" добавил (на всякий пожарный). Заливаю синтезированный UTF-шный вариант и получаю неизменную картину при попытке войти в админку:
"Warning: array_keys(): The first argument should be an array in /includes/functions.php on line 3272
Warning: Invalid argument supplied for foreach() in /includes/functions.php on line 3272"
Quote:
Вот фрагмент кода с /includes/functions.php, строка 3272 выделена красным
if (defined('SKIP_SESSIONCREATE') AND $user['userid'] == $vbulletin->userinfo['userid'] AND !($user['permissions']['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview']))
{ // grant canview for usergroup if session skipping is defined.
$user['permissions']['forumpermissions'] += $vbulletin->bf_ugp_forumpermissions['canview'];
}
окно для ввода логина и пароля появляется, но без надписей и комментариев. При попытке ввести пароль появляется сообщение (что приятно - пишет по русски в кодировке UTF8!):
Вот фрагмент кода class_core.php, строка 2984 выделена красным
function vb_error_handler($errno, $errstr, $errfile, $errline)
{
switch ($errno)
{
case E_WARNING:
case E_USER_WARNING:
/* Don't log warnings due to to the false bug reports about valid warnings that we suppress, but still appear in the log
require_once(DIR . '/includes/functions_log_error.php');
$message = "Warning: $errstr in $errfile on line $errline";
log_vbulletin_error($message, 'php');
*/
if (!error_reporting() OR !ini_get('display_errors')) {
return;
}
$errfile = str_replace(DIR, '', $errfile);
echo "<br /><strong>Warning</strong>: $errstr in <strong>$errfile</strong> on line <strong>$errline</strong><br />";
break;
....
Пробовал заливать неконвертированный дамп - всё в норме (это при сохраненных изменениях в конфиге!). Почистил базу, поудалял всё графическое, все неоднозначные символы, грохнул все сообщения (благо, БД отладочная). Остались только узвери (около десятка), группы и структура разделов. Не помогло. Продолжаю "расслабляться и получать удовольствие"...
Может тем временем кто что дельное подскажет? ;) (Вся надежда на мудрость VipeR-а )
PS И ещё один нюанс - форум дампится в выключенном (через основные настройки) состоянии (ну и естественно в управлении языками предварительно выставленно UTF).
добавлено через 1 час 32 минуты
В общем, скорее всего (по логике происходящего), при перекодировке базы теряются индексы. В частности, система не узнает админовские реквизиты. И здесь возникает незадача - как проиндексировать базу голым SQL-ем? Это возможно, не заходя в булкину админку? Кто нить знает такой скуэль?
Или второй вопрос - как прорваться в админку, если туда прорваться нельзя?... похоже это уже бред...
Last edited by Pozniy : 08-27-2006 at 07:04 PM.
Reason: Добавлено сообщение
@Pozniy
Продвинутый
Join Date: Jul 2006
Posts: 43
Reputation:
Опытный 27
Репутация в разделе: 14
1
Дабы закрыть тему. Плюнул я на это кувыркание. Решил пойти по пути наименьшего сопротивления - поставить vB заново, но в кодировке UTF-8.
В UltraEdit-е переконвертировал следующие файлы в UTF:
install_language_en.php
vbulletin-language.xml
а в остальных инсталляционных .xml, на всякий пожарный, поменял в заголовке кодировку ISO-8859-1 на UTF-8 (эту же процедуру делаю для всех прочих хаков, которые заливаются в vB и в которых попадается кирилица). Ну и соответсвенно в конфиге и настройках языка в админке. Усё. Форум работает в UTF8 без проблем (если проблемой не считать обрезание кое где в меню русских строк)... Но в проблема вылезла в другом месте. IE не хочет автоматом переключать кодировку. Грузит крякозаблы. Потом руцями надо тыкать в меню. Бесит. Однако, это уже совсем другая история...
!!! Если кодировку указывать (в частности в настройках языков форума) вот так: UTF-8 (через черту), то IE отрабатывает всё правильно !!!
Но вылезла ещё одна проблема - с email-ми отправляемыми форумом. Они тоже в утиэффе, кодировку полученных писем необходимо выставлять руками. При этом тема письма с крякозяблами не корректируется (у меня Бат).
Last edited by Pozniy : 08-29-2006 at 01:19 PM.
@Koss
Простоузер
Join Date: Mar 2006
Posts: 21
Reputation:
Novice 7
Репутация в разделе: 0
0
Ставил я как-то vBulletin (v3.5.4) в кодировке UTF-8 http://www.vbsupport.ru/forum/showthread.php?t=1765 , но увы...
Пробовал и IPBoard 2.1.5 - тоже не получилось.
С кодировкой UTF-8 удалось подружить только SMF 1.1 RC2, а в SMF 1.1 RC3 так она вообще ставится и даже конвертируется без проблем.
А интересно как в vBulletin 3.6.0 поддержка UTF-8 сделана? Нет проблем с буквами Ш , ш ?
@seirge
Простоузер
Join Date: Jul 2006
Posts: 1
Reputation:
Novice 0
Репутация в разделе: 0
0
Как я ставил vb 3.6.0 с utf-8:
берем английскую версию, ставим. Берем русификацию от zCarot. Перекодируем её чем-нибудь (iconv с моем случае) в utf-8. Загружаем. А теперь через админку в обоих языках ставим дефолтовую кодировку в 'utf-8'.
Что не работает:
все посты обрезаются по первой букве "Р" (именно заглавная) и "Э" (тоже заглавная). Даже не представляю, куда копать. Игрался конфигом, не помогало.
(mysql 5.0.24 / apache-2.0.59 / php-5.1.6)
Кто-нибудь может что-нибудь предложить?
@Sens0r
Простоузер
Join Date: Oct 2006
Posts: 18
Версия vB: 5.x.x
Reputation:
Novice 1
Репутация в разделе: 0
0
Хм.. взял сейчас vBulletin.v3.5.5.PHP.NULL-DGT.zip с этого сайта, поставил.
В админке поставил кодировку utf-8, в автоцензоре убрал запрет ascii
Пока что всё пашет, все буквы, нормально отображаються.
Русифицировать ещё не пробывал =/
@Sens0r
Простоузер
Join Date: Oct 2006
Posts: 18
Версия vB: 5.x.x
Reputation:
Novice 1
Репутация в разделе: 0
0
Проблемы оказываеться есть, именно в экспорте на CMS в связке с которой должен работать форум.Что странно что сама по себе cms работает на utf-8 и вообще разрабатывалась под неё.Но тот utf-8 что экспортитуеться с форума не понимает =/ чё зааа
@Spari
Простоузер
Join Date: Jul 2006
Posts: 24
Reputation:
Novice 1
Репутация в разделе: 0
0
Я ставил параллельно Vb 3.5.4 и VbDrupal - прекрасно работают вместе.
Причем Вобля - в ср1251, а Друпал- в юникод.
Насколько я понимаю Друпал сам все перекодирует так как надо.
А вот что за хрень с перекодировкой...
@Pozniy
Продвинутый
Join Date: Jul 2006
Posts: 43
Reputation:
Опытный 27
Репутация в разделе: 14
0
Quote:
Originally Posted by Spari
Я ставил параллельно Vb 3.5.4 и VbDrupal - прекрасно работают вместе.
Причем Вобля - в ср1251, а Друпал- в юникод.
Насколько я понимаю Друпал сам все перекодирует так как надо.
А вот что за хрень с перекодировкой...
А какая версия vBDrupal у тебя? Я в августе скрещивал vB 3.5.4+vBDrupal 4.7.3.* . Тогда Drupal под ЮТФ работал замечательно, а инфо с vB (cp1251) выдавал крякозяблами. Т.е. никто ничего не перекодировал.
И сейчас по здешнему рецепту замечательно они сливаются "в экстазе" (имею в виу vB и ЮТФ). Только вот нормально не дампятся. Невозможно архив сделать даже для использования на этой же площадке и в этой же БД - заканчивается всё ????????. Там суда по комментариям в куче мест в коде жестко зашиты перекодировки latin1, которые чихать хотели на конфиговские установки... Вот я сейчас как раз всё это и выискиваю... :(