Top.Mail.Ru
АДВИЖЕН Digital
Разработка и сопровождение сайтов
zakaz@advigen.ru
+7 (812) 467-42-72
Стать клиентом plus icon
Создание сайтов
  • Корпоративные сайты
  • Интернет-магазины
  • Сайты на 1С-Битрикс
    • Сайты-визитки
    • Каталог + Услуги
    • Интернет-магазины
    • Переезд на Битрикс
    • Решения Аспро
  • Дизайн/редизайн
  • Одностраничные сайты
Поддержка и доработки
  • Аудит сайта
  • Битрикс поддержка
    • Доработка сайтов
    • Настроить обмен с 1С
    • Переход на PHP8
    • Ускорить сайт
    • Сайты на АСПРО
  • Администрирование
  • SEO-оптимизация
  • Удаление вирусов
  • Перенос на хостинг
CRM Битрикс24
Все услуги
  • Создание сайтов
    • Landing Page
    • Корпоративный сайт
    • Интернет магазин
    • Сайты на Битрикс
    • Сайты на шаблонах АСПРО
    • Перенос сайта на Битрикс
    • Сайты на Tilda
    • Дизайна сайта
  • CRM Битрикс24
    • Внедрение Битрикс24
    • Настройка Битрикс24
    • Бизнес процессы
    • Интернет-магазин + CRM
Найти услугу
АДВИЖЕН Digital
  • О компании
  • Отзывы
  • Примеры работ
  • Блог
  • 1С-Битрикс
  • Контакты
  • ...
    Создание сайтов
    • Корпоративные сайты
    • Интернет-магазины
    • Сайты на 1С-Битрикс
      • Сайты-визитки
      • Каталог + Услуги
      • Интернет-магазины
      • Переезд на Битрикс
      • Решения Аспро
    • Дизайн/редизайн
    • Одностраничные сайты
    Поддержка и доработки
    • Аудит сайта
    • Битрикс поддержка
      • Доработка сайтов
      • Настроить обмен с 1С
      • Переход на PHP8
      • Ускорить сайт
      • Сайты на АСПРО
    • Администрирование
    • SEO-оптимизация
    • Удаление вирусов
    • Перенос на хостинг
    CRM Битрикс24
    Все услуги
    • Создание сайтов
      • Landing Page
      • Корпоративный сайт
      • Интернет магазин
      • Сайты на Битрикс
      • Сайты на шаблонах АСПРО
      • Перенос сайта на Битрикс
      • Сайты на Tilda
      • Дизайна сайта
    • CRM Битрикс24
      • Внедрение Битрикс24
      • Настройка Битрикс24
      • Бизнес процессы
      • Интернет-магазин + CRM
      АДВИЖЕН Digital

      Меню

      АДВИЖЕН Digital
      • Создание сайтов
        • Создание сайтов
        • Корпоративные сайты
        • Интернет-магазины
        • Сайты на 1С-Битрикс
          • Сайты на 1С-Битрикс
          • Сайты-визитки
          • Каталог + Услуги
          • Интернет-магазины
          • Переезд на Битрикс
          • Решения Аспро
        • Дизайн/редизайн
        • Одностраничные сайты
      • Поддержка и доработки
        • Поддержка и доработки
        • Аудит сайта
        • Битрикс поддержка
          • Битрикс поддержка
          • Доработка сайтов
          • Настроить обмен с 1С
          • Переход на PHP8
          • Ускорить сайт
          • Сайты на АСПРО
        • Администрирование
        • SEO-оптимизация
        • Удаление вирусов
        • Перенос на хостинг
      • CRM Битрикс24
      • Все услуги
        • Все услуги
        • Создание сайтов
          • Создание сайтов
          • Landing Page
          • Корпоративный сайт
          • Интернет магазин
          • Сайты на Битрикс
          • Сайты на шаблонах АСПРО
          • Перенос сайта на Битрикс
          • Сайты на Tilda
          • Дизайна сайта
        • CRM Битрикс24
          • CRM Битрикс24
          • Внедрение Битрикс24
          • Настройка Битрикс24
          • Бизнес процессы
          • Интернет-магазин + CRM
      Стать клиентом plus icon
      • +7 (812) 467-42-72
        • Телефоны
        • +7 (812) 467-42-72
      • Санкт-Петербург, Богатырский пр., 12
      • pro@advigen.ru
      • Пн. – Пт.: с 9:30 до 18:00
      Главная
      —
      Блог
      —
      Статьи о поддержке сайта
      —Кодировка поля "SITE_ID" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)

      Кодировка поля "SITE_ID" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)

      Поддержка сайта
      3916


      8 октября 2024
      Администратор
      Веб студия АДВИЖЕН Digital
      Адвижен Digital
      При тестировании проверки системы в "Кодировки таблиц в БД" появилась такая ошибка:
      Ошибка! Кодировки таблиц имеют ошибки, общее число ошибок: 2725, из них автоматически могут быть исправлены: 0.

      Смотрим подробности в журнале проверки системы и видим такие сообщения:

      Кодировка поля "SITE_ID" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)
      Кодировка поля "ACTIVE" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)
      Кодировка поля "ENABLED" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)
      Кодировка поля "NAME" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)
      Кодировка поля "DESCR" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)
      Кодировка поля "TEST_DATA" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)
      Кодировка поля "MODULE_ID" таблицы "b_admin_notify" (utf8) отличается от кодировки базы (utf8mb3)
      Кодировка поля "TAG" таблицы "b_admin_notify" (utf8) отличается от кодировки базы (utf8mb3)
      .....
      
      Эта ошибка возникает из-за того, что в базе данных MySQL используются разные кодировки между таблицами и полями. В нашем случае кодировка полей — utf8, тогда как кодировка базы данных — utf8mb3.

      В чем разница?

      Разница между utf8mb3 и utf8mb4 в MySQL заключается в поддерживаемых символах и способе хранения данных:

      1. Поддержка символов:

        • utf8mb3: Эта кодировка поддерживает символы, которые занимают до трех байт. Это означает, что она может хранить большинство символов, используемых в современных языках, но не может обрабатывать некоторые символы, такие как эмодзи и определенные символы из языков, требующих четырех байтов.
        • utf8mb4: Эта кодировка поддерживает все символы Unicode, включая те, которые занимают четыре байта, такие как эмодзи и редкие иероглифы.
      2. Длина хранения:

        • utf8mb3: Максимальная длина строки составляет 3 байта на символ, что делает максимальную длину строки в 767 байт для индексов (в версиях до MySQL 5.7).
        • utf8mb4: Максимальная длина строки составляет 4 байта на символ, что позволяет хранить более длинные строки и обеспечивает большую гибкость для хранения различных символов.
      3. Рекомендации по использованию:

        • Рекомендуется использовать utf8mb4 вместо utf8mb3 для новых проектов, чтобы обеспечить полную поддержку всех символов Unicode и избежать потенциальных проблем с совместимостью в будущем.

      Таким образом, если проект требует поддержки эмодзи или других специальных символов, utf8mb4 — лучший выбор.

      Ответ Технической поддержки 1С-Битрикс на данную проблему

      Ситуация связана с тем, что сейчас проверка не учитывает кодировку "utf8mb4"/"utf8mb3" как исключение и выдает замечание в результате теста. В отделе разработок есть заявка по этой ситуации. Срок решения полностью зависит от планов и загруженности отдела разработок. Но как только будут новости, мы сразу вас уведомим.

      В качестве решения можно обратиться к администратору вашего сервера, для того чтобы со стороны СУБД изменить кодировку соответствующих таблиц в "utf8". Отмечу, что в данном случае необходимо наличие актуальной резервной копии системы и актуального валидного бэкапа сервера, чтобы в случае необходимости произвести восстановление. После этого можно запустить тестирование конфигурации повторно и проверить изменилась ли указанная ситуация.

      На работу сайта этот момент с кодировкой не влияет.

      Ждать обновлений не будем, переходим к изменению кодировки таблицы:

      1. Создаем резервную копию базы данных, чтобы мы могли в любой момент вернуться в первоначальному ее состоянию. Далее все действия будем проводить на рабочей базе.
      2. Меняем кодировку базы данных: Для того чтобы изменить кодировку будем использовать команду ALTER TABLE.
        Шаги выполнения в PHPMyAdmin:
        Откройте вашу базу данных в PHPMyAdmin
        Перейдите на вкладку SQL
        Вставьте запрос ALTER DATABASE `имя_вашей_базы` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
        Нажмите Выполнить
        Проверьте изменения
        
      3. Меняем параметры подключения в /bitrix/php_interface:.
        в after_connect.php:
        вместо: 
        $DB->Query("SET NAMES 'utf8'");
        $DB->Query('SET collation_connection = "utf8_unicode_ci"');
        
        указываем: $DB->Query("SET NAMES 'utf8mb4'"); $DB->Query('SET collation_connection = "utf8mb4_general_ci"');

        в after_connect_d7.php:
        вместо: 
        $this->queryExecute("SET NAMES 'utf8'");
        $this->queryExecute('SET collation_connection = "utf8_unicode_ci"');
        
        указываем: $this->queryExecute("SET NAMES 'utf8mb4'"); $this->queryExecute('SET collation_connection = "utf8mb4_general_ci"');
      4. Возвращаемся в Настройки - Инструменты - Проверка системы и запускаем тестирование
        в "Кодировки таблиц в БД" может появиться такая ошибка:
        Ошибка! Кодировки таблиц имеют ошибки, общее число ошибок: 2725, из них автоматически могут быть исправлены: 0

        Смотрим подробности в журнале проверки системы и видим такие сообщения:

        Кодировка таблицы "b_abtest" (utf8mb3) отличается от кодировки базы (utf8mb4)
        Кодировка поля "SITE_ID" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb4)
        Кодировка поля "ACTIVE" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb4)
        Кодировка поля "ENABLED" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb4)
        Кодировка поля "NAME" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb4)
        Кодировка поля "DESCR" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb4)
        Кодировка поля "TEST_DATA" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb4)
        .....
        
      5. Повторяем действия в шаге №2, только меняем сами запросы. Теперь нам нужно у таблиц (не полей) имеющих кодировку utf8mb3 поменять ее на utf8mb4.
        Пример запроса:
        ALTER TABLE `b_abtest` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
        
      6. Опять возвращаемся в Настройки - Инструменты - Проверка системы и запускаем тестирование. Проверяем, чтобы в "Кодировки таблиц в БД" отсутствовали ошибки, но в следующем блоке "Структура базы данных" они могут появится
        Ошибка! Структура базы данных имеет ошибки. Всего 314, автоматически могут быть исправлены: 0.

        Смотрим подробности в журнале проверки системы и видим такие сообщения:

        В таблице b_event_type поле DESCRIPTION "`DESCRIPTION` mediumtext NULL DEFAULT NULL" не соответствует описанию на диске "`DESCRIPTION` text NULL DEFAULT NULL"
        В таблице b_event_message поле BCC "`BCC` mediumtext NULL DEFAULT NULL" не соответствует описанию на диске "`BCC` text NULL DEFAULT NULL"
        В таблице b_event_message поле ADDITIONAL_FIELD "`ADDITIONAL_FIELD` mediumtext NULL DEFAULT NULL" не соответствует описанию на диске "`ADDITIONAL_FIELD` text NULL DEFAULT NULL"
        В таблице b_group поле SECURITY_POLICY "`SECURITY_POLICY` mediumtext NULL DEFAULT NULL" не соответствует описанию на диске "`SECURITY_POLICY` text NULL DEFAULT NULL"
        В таблице b_user поле PERSONAL_STREET "`PERSONAL_STREET` mediumtext NULL DEFAULT NULL" не соответствует описанию на диске "`PERSONAL_STREET` text NULL DEFAULT NULL"
        В таблице b_user поле PERSONAL_NOTES "`PERSONAL_NOTES` mediumtext NULL DEFAULT NULL" не соответствует описанию на диске "`PERSONAL_NOTES` text NULL DEFAULT NULL"
        .....
        
      7. Опять повторяем действия в шаге №2, только меняем запросы. Теперь нам нужно изменить информацию о описании полей.
        Пример запроса:
        ALTER TABLE `b_event_type` CHANGE `DESCRIPTION` `DESCRIPTION` text NULL DEFAULT NULL;
        
      8. Опять возвращаемся в Настройки - Инструменты - Проверка системы и запускаем тестирование. Проверяем, чтобы не было никаких ошибок при Тестирование базы данных
      9. Последний шаг. Запускаем Оптимизацю БД средствами Битрикса.
        Переходим в Настройки - Инструменты - Диагностика - Оптимизация БД
        Нажимаем Выполнить и дожидаемся результата
        
      10. На этом процедура по смене кодировки базы данных c utf8mb3 на utf8mb4 завершена.

      Читайте также

      Поддержка сайта
      08 января 2026
      249
      Логирование PHP ошибок после обновления ядра Битрикса / пере...
      Поддержка сайта
      22 ноября 2024
      2282
      Отключаем ленивую загрузку изображений (lazyload)
      Поддержка сайта
      18 октября 2024
      4511
      Как запретить доступ к сайту для иностранных IP адресов
      Поддержка сайта
      13 августа 2024
      2962
      Как узнать какие таблицы БД в Битрикс имеют большой объем да...
      Поддержка сайта
      08 августа 2024
      3514
      Добавляем тег rel=canonical на страницы сайта Битрикс
      Поддержка сайта
      01 августа 2024
      2178
      Как узнать какие свойства инфоблока не заполнены у товаров и...
      Поддержка сайта
      27 мая 2024
      1686
      РейтингРунета 2024 обновился
      Поддержка сайта
      08 мая 2024
      1400
      Поздравляем вас с Днем Победы!
      Назад к списку


      • Веб-аналитика 1
      • Интернет-маркетинг 2
      • Контекстная реклама 4
      • Новости 13
      • Обмен с 1С 6
      • Поддержка сайта 18
      • Таргетированная реклама 3
      ВК Интернет-маркетинг Контекстная реклама Маркетинг Одноклассники Таргет УТП Яндекс Директ
      +7 (812) 467-42-72
      -->
      • О компании
      • Отзывы
      • Примеры работ
      • Блог
      • 1С-Битрикс
      • Контакты
      • ...
        Мы в социальных сетях
        Создание сайтов
        Корпоративный сайт
        Интернет магазин
        Поддержка сайтов
        Администрирование
        Доработка сайтов на Битриксе
        Доработка решений АСПРО
        Аудит сайтов 1С-Битрикс
        Комплексное продвижение
        SEO продвижение
        Контекстная реклама
        Таргетированная реклама
        Электронная коммерция
        Сквозная аналитика
        CRM Битрикс24
        Внедрение CRM
        Настройка CRM
        Бизнес процессы
        Интернет-магазин + CRM
        © 2026 АДВИЖЕН
        Политика конфиденциальности
        Подписаться на рассылку