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
      Создание сайтов
      • Корпоративные сайты
      • Интернет-магазины
      • Сайты на 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
        • zakaz@advigen.ru
        • Пн. – Пт.: с 9:30 до 18:00
        Главная
        —
        Блог
        —
        Статьи о поддержке сайта
        —Кодировка поля "SITE_ID" таблицы "b_abtest" (utf8) отличается от кодировки базы (utf8mb3)

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

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


        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 завершена.

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

        Поддержка сайта
        22 ноября 2024
        947
        Отключаем ленивую загрузку изображений (lazyload)
        Поддержка сайта
        18 октября 2024
        1601
        Как запретить доступ к сайту для иностранных IP адресов
        Поддержка сайта
        13 августа 2024
        1368
        Как узнать какие таблицы БД в Битрикс имеют большой объем да...
        Поддержка сайта
        08 августа 2024
        1471
        Добавляем тег rel=canonical на страницы сайта Битрикс
        Поддержка сайта
        01 августа 2024
        795
        Как узнать какие свойства инфоблока не заполнены у товаров и...
        Поддержка сайта
        27 мая 2024
        996
        РейтингРунета 2024 обновился
        Поддержка сайта
        08 мая 2024
        741
        Поздравляем вас с Днем Победы!
        Поддержка сайта
        08 мая 2024
        751
        Актуальный режим работы в майские праздники
        Назад к списку


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