VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
По поиску прошелся - ответа не нашел, как правило все меняют кодировку из-за неверного отображения текста, у меня же другая проблема - при установке форума давно была допущена оплошность - вся база в latin1_swedish_ci. Но єто как-то не обратилось внимания, потому что сам форум работал как положено, и работает до сих пор, но всплыла фигня - при віводе списка пользователей начался абсурд, так как русский ники переводятся в кракозябру в базе и при поиске в файле memberlist.php
PHP Code:
if ($ltr != '')
{
if ($ltr == '#')
{
$condition .= " AND username NOT REGEXP(\"^[a-zA-Z]\")";
}
else
{
$ltr = chr(intval(ord($ltr)));
$condition .= " AND username LIKE(\"" . $db->escape_string_like($ltr) . "%\")";
}
}
- выводятся вместе с английскими. Пробовал менять через
CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
и через SET NAME - эффекта не увидел. При этом - форум работает в штатном режиме - т.е. текст выводится как положено. Что можете посоветовать в данном случае?
и при поиске в файле memberlist.php - выводятся вместе с английскими.
да, есть такой глючок, именно если БД в латин1, а на форуме подключена 1251
Quote:
Originally Posted by sanika
как правило все меняют кодировку из-за неверного отображения текста
отнюдь
"все" меняют кодировку БД потому, что в ней - кракозябры
а это как раз Ваш случай
у Вас же не только ники, в таблице "пост" - такая же красота...
@sanika
Продвинутый
Join Date: Mar 2011
Posts: 309
Версия vB: 3.8.6
Reputation:
Опытный 96
Репутация в разделе: 96
0
Quote:
Originally Posted by Luvilla
в таблице "пост" - такая же красота...
ну да.
Менять кодировку лучше из phpmyadmin или админу сервера поручить эту задачу?
И при смене кодировки базы в самом движке что-то надо менять?
sanika добавил 18.02.2013 в 17:54
И как узнать на какую кодировку менять на utf8 или на cp1251? Или тут уже на выбор?
Наверное в cp1251 -форум выводится в этой кодиовке
Last edited by sanika : 02-18-2013 at 07:56 PM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,715
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
2
сохранить дамп
сконвертировать его в UTF-8 EmEditior-ом
создать новую БД с нужными кодировками (UTF-8)
импортировать сконвертированный дамп
@GiRassell
Эксперт
Join Date: Jul 2007
Location: Чкаловск
Награды в конкурсах:
Posts: 1,141
Версия vB: 3.8.x
Пол:
Reputation:
Expert 1356
Репутация в разделе: 514
2
Quote:
Originally Posted by sanika
Менять кодировку лучше из phpmyadmin или админу сервера поручить эту задачу?
1. Скачать БД
2. Поправить кодировку
3. Залить в новую БД с нужной кодировкой
4. Экспериментs делать только на тестовом форуме
И при смене кодировки базы в самом движке что-то надо менять?
В конфиге(config.php) раскомментировал строку
PHP Code:
$config['Mysqli']['charset'] = 'utf8';
Если не utf8, то укажите cp1251.
Если вы сами не разбираетесь, то лучше пусть спецы делают.
@sanika
Продвинутый
Join Date: Mar 2011
Posts: 309
Версия vB: 3.8.6
Reputation:
Опытный 96
Репутация в разделе: 96
0
А кроме этого списка юзеров где еще может быть фигня из-за этой кодировки?
sanika добавил 18.02.2013 в 18:04
Quote:
Originally Posted by GiRassell
Если вы сами не разбираетесь, то лучше пусть спецы делают.
Хочу сам)
sanika добавил 18.02.2013 в 18:06
Quote:
Originally Posted by GiRassell
В конфиге(config.php) раскомментировал строку
А что дает эта строка? Почему она по дефолту закомментирована?
// $config['Mysqli']['charset'] = 'utf8';
Last edited by sanika : 02-18-2013 at 08:06 PM.
Reason: Добавлено сообщение
@GiRassell
Эксперт
Join Date: Jul 2007
Location: Чкаловск
Награды в конкурсах:
Posts: 1,141
Версия vB: 3.8.x
Пол:
Reputation:
Expert 1356
Репутация в разделе: 514
2
sanika,
Code:
// ****** ОПЦИИ MySQLI *****
// При использовании MySQL 4.1+, MySQLi должен быть использован для соединения с БД
// Если Вам требуется изменить кодировку по умолчанию, при использовании кодировки,
// отличной от latin1, то Вы можете указать её здесь.
// Если Вы не укажете здесь кодировку, то она будет такой же, как и по умолчанию в БД,
// что может вызвать ошибки. Не изменяйте здесь ничего до тех пор, пока не будете уверены,
// что это действительно требуется.
// $config['Mysqli']['charset'] = 'utf8';
Очень многие допускают ошибки...
БД создают по умолчанию, а она очень часто прописана по умолчанию в latin1 на сервере и в конфиге нифига не указано вот и получается latin1 со всеми вытекающими
хрюк
Гость
Posts: n/a
Конвертирование делаю всегда сайпекс дампером в про версии. Два клика к решению задачи.
Редко когда приходится доставать бубен и танцевать.. обычно это из-за сильного срача в базе (микс кодировок).
@sanika
Продвинутый
Join Date: Mar 2011
Posts: 309
Версия vB: 3.8.6
Reputation:
Опытный 96
Репутация в разделе: 96
0
Как делать - понял, спасибо. остается вопрос - на что еще влияет эта беда с кодировкой, кроме как на вывод списка пользователей?
@GiRassell
Эксперт
Join Date: Jul 2007
Location: Чкаловск
Награды в конкурсах:
Posts: 1,141
Версия vB: 3.8.x
Пол:
Reputation:
Expert 1356
Репутация в разделе: 514
0
sanika, в один прекрасный солнечный день, когда сломается форум(не дай бог...) и будет необходим бэкап. Вы возьмете бэкап, а в бэкапе черт знает что твориться и данные достать никак нельзя. Что будите делать? Кого обвинять? На каком месте будите волосы выдергивать?