Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > vBulletin 4.x
Расширенный поиск

vBulletin 4.x Все для скрипта форума vBulletin 4.x

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2014, 16:59 Вверх   #1
Уважаемая личность
 
Аватар для Vasich
Vasich вне форума
Доп. информация
Восклицание Перекодировка форума

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

История такова, форум уже трижды переезжал, кто то помогал (уже не помню в чем), в общем каша полная - таблицы и в latin1_swedish_ci и в cp1251_general_ci и в utf8_general_ci.

Недавно созрел на "отходную" к третьей линейке, посмотрел, почитал статьи и решил вначале привести БД в порядок.
Установил Sypex Dumper Pro 2.0.11 и с помощью этой удивительной программы конвертировал всю базу в utf8_general_ci, затем в config заменил строку:
PHP код:
$config['Mysqli']['charset'] = 'ср1251'
на
PHP код:
$config['Mysqli']['charset'] = 'utf8'
и вроде как все заработало, но заметил, что выросла нагрузка на сервер.

Решил пересмотреть все файлы (синхронно) те, что на сервере и те, что в папке vBulletin у меня на компе.

Нашел разницу в файле class_core.php
в оригинальном файле начиная со строки 322 так:
PHP код:
            if (function_exists('mysql_set_charset'))
            {
                
mysql_set_charset($charset);
            }
            else
            {
                
$this->sql "SET NAMES $charset";
                
$this->execute_query(true$link);
            }
        }

        return 
$link
а в моем вот так:
PHP код:
            /*if (function_exists('mysql_set_charset'))
            {
                mysql_set_charset($charset);
            }
            else
            {
                $this->sql = "SET NAMES $charset";
                $this->execute_query(true, $link);
            }*/
            
$this->sql "SET character_set_client='cp1251'";
            
$this->execute_query(true$link);
            
$this->sql "SET character_set_results='cp1251'";
            
$this->execute_query(true$link);
            
$this->sql "SET NAMES cp1251";
            
$this->execute_query(true$link);
            
$this->sql "SET collation_connection='cp1251_general_ci'";
            
$this->execute_query(true$link);
        }

        return 
$link
Далее со строки 1323 так:
i
PHP код:
(!empty($charset))
        {
            if (
function_exists('mysqli_set_charset'))
            {
                
mysqli_set_charset($link$charset);
            }
            else
            {
                
$this->sql "SET NAMES $charset";
                
$this->execute_query(true$link);
            }
        }

        return (!
$connect) ? false $link;
    } 
у меня в файле так:
PHP код:
if (!empty($charset))
        {
            if (
function_exists('mysqli_set_charset'))
            {
                
mysqli_set_charset($link$charset);
            }
            else
            {
                
$this->sql "SET NAMES $charset";
                
$this->execute_query(true$link);
            }
            
$this->sql "SET character_set_client='cp1251'";
            
$this->execute_query(true$link);
            
$this->sql "SET character_set_results='cp1251'";
            
$this->execute_query(true$link);
            
$this->sql "SET NAMES cp1251";
            
$this->execute_query(true$link);
            
$this->sql "SET collation_connection='cp1251_general_ci'";
            
$this->execute_query(true$link);
        }

        return (!
$connect) ? false $link;
    } 
Я так понимаю, что это принудительно кто то мне прописал, поскольку я в этом не силен, ясное дело, что по моей просьбе.

Заливаю на сервер оригинальный class_core.php - форум слетает, остается тоько шапка с такими символами (Рё РїСЂРё необходимости обновите данные.)
В конфиге комментирую //$config['Mysqli']['charset'] = 'utf8'; - форум заработал, только вместо текста (???????????????) название тем (************?? ?? ************************ ******************?), те же звездочки вместо текста в постах.

До этого в админке при редактировании в языках установлено windows-1251, меняю на UTF8 - ничего не меняется.

Помогите пожалуйста, буду весьма благодарен.

P.S. в phpMyAdmin в таблицах, например post, открываю любой и там кириллица отображается как надо.
P.S.S При написании нового текста кириллицей (в блоке предупреждений о закрытии) новый текст отображается корректно!


Последний раз редактировалось Vasich; 27.07.2014 в 22:25..
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:27. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.11379 секунды с 11 запросами