Поддержка серверов

CSiteCheckerTest::check_mysql_db_charset: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=175043

//    CSiteCheckerTest::check_mysql_db_charset()
//    /bitrix/modules/main/classes/general/site_checker.php:2112

    function check_mysql_db_charset()
    {
        global $DB;
        if ($this->arTestVars['check_mbstring_fail'])
            return $this->Result(null, GetMessage('SC_MBSTRING_NA'));
        elseif ($this->arTestVars['check_table_status_fail'])
            return $this->Result(null, GetMessage('SC_TABLES_NEED_REPAIR'));
        elseif ($this->arTestVars['check_connection_charset_fail'])
            return $this->Result(null, GetMessage('SC_CONNECTION_CHARSET_NA'));

        $strError = '';

        $res = $DB->Query('SHOW VARIABLES LIKE "character_set_connection"');
        $f = $res->Fetch();
        $character_set_connection = $f['Value'];

        $res = $DB->Query('SHOW VARIABLES LIKE "collation_connection"');
        $f = $res->Fetch();
        $collation_connection = $f['Value'];

        $res = $DB->Query('SHOW VARIABLES LIKE "character_set_database"');
        $f = $res->Fetch();
        $character_set_database = $f['Value'];

        $res = $DB->Query('SHOW VARIABLES LIKE "collation_database"');
        $f = $res->Fetch();
        $collation_database = $f['Value'];

        if ($this->fix_mode)
        {
            if ($DB->Query($sql = 'ALTER DATABASE `' . $DB->DBName. '` DEFAULT CHARACTER SET ' . $character_set_connection . ' COLLATE ' . $collation_connection, true))
                $strError = '';
            else
                $strError .= $sql . ' [' . $DB->db_Error . ']';
        }
        else
        {
            if ($character_set_connection != $character_set_database)
                $strError = GetMessage('SC_DATABASE_CHARSET_DIFF', array('#VAL0#' => $character_set_connection, '#VAL1#' => $character_set_database)).fix_link();
            elseif ($collation_database != $collation_connection)
                $strError = GetMessage('SC_DATABASE_COLLATION_DIFF', array('#VAL0#' => $collation_connection, '#VAL1#' => $collation_database)).fix_link();
        }

        echo 'CHARSET='.$character_set_database.', COLLATION='.$collation_database;

        if (!$strError)
            return true;

        $this->arTestVars['db_charset_fail'] = true;
        return $this->Result(false, $strError);
    }
';

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение