vBulletin: БД, версии и т.д..

12 3
Jackyk
На сайте с 05.10.2005
Offline
342
1683

Приветствую Уважаемое Сообщество.

Развернул лицензионный vB 3.8.7, и вижу неприятную вещь: если логин у человека, например, "Вася" (по-русски), то под логином "Вася" он зайти может, а под логином "вася" - нет, выдается ошибка. Кодировка utf-8. Пробовал на двух разных хостингах с немного различными настройками серверов БД, картина аналогичная. Collation вроде правильный, utf8_general_ci... Что бы это значило и как с этим бороться?

У меня есть форум на vBulletin 3.x.x, там всё нормально с этим, "Вася" и "вася" - один юзернэйм, НО там кодировка windows-1251. Или единственный тут способ - и этот форум запустить не в юникоде, а в windows-1251?

Не исключаю всё же, что где-то что-то и в самой вобле настраивается, в конфиг или инит файлах, или в панели, а я недоглядел. В-общем, подскажите, пожалуйста, куда копать.

Спасибо.

Заодно, сразу уж следующий вопрос.

Насколько вообще правильно запускать проект на третьей версии vB? Вроде стабильно, все дела... А четверка и тем более пятерка, как я слышал, не сильно лучше, зато багов хватает. Но так было время назад, а как сейчас? Возможно, там принципиально лучше интеграция со всякими твиттерами и прочими фейсбуками и вконтактиками? Ну, или ещё какие-то фишки...

В-общем, второй вопрос - какую версию лучше предпочесть?

С уважением, Евгений.

С уважением, Евгений.
DV
На сайте с 01.05.2010
Offline
644
#1

Это можно устранить допиливанием. Например, вставить куда нужно mb_strtolower.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
iren K
На сайте с 28.12.2008
Offline
222
#2
Jackyk:

Насколько вообще правильно запускать проект на третьей версии vB? Вроде стабильно, все дела...
В-общем, второй вопрос - какую версию лучше предпочесть?

я не трогаю пока на 3.7.0 норм. сидят форумы: все настроено, проблем нет..

имхо канеш

c уважением Iren
Jackyk
На сайте с 05.10.2005
Offline
342
#3
iren K:
я не трогаю пока на 3.7.0 норм. сидят форумы: все настроено, проблем нет..

У меня тоже, просто сейчас сайт делается с нуля, и есть возможность выбора. Буду признателен, если кто-либо назовет плюсы, например, 4 версии. Я думал, там можно входить через facebook, например, как в ЖЖ - так вот нельзя. Можно лишь, чтобы тебя выкинуло на регистрационную форму с несколькими заполненными из фэйсбука полями, а регистрация все равно отдельная. Вроде как. Тогда есть ли смысл?

N
На сайте с 28.03.2006
Offline
130
#4
Jackyk:
в конфиг

можно попробовать задействовать в config.php, функцию указания кодировки соединения с базой


$config['Mysqli']['charset'] = 'utf8';

Если это не поможет, выполните в phpmyadmin SQL запрос:


SHOW VARIABLES LIKE "char%";

Результат выполнения в студию, пожалуйста.

Jackyk:
там можно входить через facebook, например, как в ЖЖ - так вот нельзя.

Это реализовывается с помощью модулей: Ulogin или Loginza, поддерживаются все версии vBulletin.

iren K
На сайте с 28.12.2008
Offline
222
#5
Jackyk:
Тогда есть ли смысл?

думаю нет, ибо все эти фишки(функции) в старой вер. есть -> мелочи моня и под себя заточить

Jackyk
На сайте с 05.10.2005
Offline
342
#6
Nowell:
можно попробовать задействовать в config.php, функцию указания кодировки соединения с базой

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

Nowell:
Результат выполнения в студию

Я тогда уж и SHOW VARIABLES LIKE "%char%", и SHOW VARIABLES LIKE "%collation%" сразу приведу, да еще и у разных хостеров, да с разными настройками, да в разных странах, да на разных континентах. :) Ни там, ни там "вася" не проходит.

1. РФ, Бегет.

character_set_client utf8

character_set_connection utf8

character_set_database utf8

character_set_filesystem binary

character_set_results utf8

character_set_server utf8

character_set_system utf8

collation_connection utf8_general_ci

collation_database utf8_general_ci

collation_server utf8_general_ci.

2. Штаты, Rackspace.

character_set_client utf8

character_set_connection utf8

character_set_database utf8

character_set_filesystem binary

character_set_results utf8

character_set_server latin1

character_set_system utf8

collation_connection utf8_general_ci

collation_database utf8_general_ci

collation_server latin1_swedish_ci

N
На сайте с 28.03.2006
Offline
130
#7
Jackyk:
Увы, сколько я раз в жизни ни пробовал эту строку раскомментить, всегда получал либо белый лист вместо форума, либо знаки вопроса вместо букв.

Не у Вас одного :) Многие забывают, что данный параметр работает если только тип базы данных указан как mysqli


$config['Database']['dbtype'] = 'mysqli';
Jackyk
На сайте с 05.10.2005
Offline
342
#8
Nowell:
Многие забывают, что данный параметр работает если только тип базы данных указан как mysqli

Я вроде как не забываю, но рояли это не играет. ;)

vandamme
На сайте с 30.11.2008
Offline
675
#9
Jackyk:
но рояли это не играет

может быть тогда и в шаблоне надо переуказать кодировку?

Jackyk
На сайте с 05.10.2005
Offline
342
#10

Разобрался, большое спасибо Nowell за наводки. Но для этого мне пришлось, точнее - придется перезаливать форум заново. Ну, да ничего, он пока не в эксплуатации, а в разработке, лучше сейчас пару дней потерять, зато уж сделать железобетонно и правильно..

Итак. Эту строчку

$config['Mysqli']['charset'] = 'utf8';

надо раскомментить в конфиге ДО, а не ПОСЛЕ установки. Разумеется, указать в том же конфиге mysqli, и после установки залезть в язык, и ISO-8859-1 тут же изменить на UTF-8.

И будет щастье, даже у американцев в RackSpace заработало, как часы!

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

Разумеется, БД должна быть создана в правильной кодировке и с правильным сопоставлением collation. Лучше ее создавать через ssh, но даже в phpMyAdmin я бы рекомендовал лучше выполнять SQL-запрос:

CREATE DATABASE nazvanie_bd DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci

Далее проверить запросами

SHOW VARIABLES LIKE "%char%"
и
SHOW VARIABLES LIKE "%collation%"
и получить что-то наподобие того, что на предыдущей странице я приводил в посте 7.
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий