Как можно определить в следствии чего возникает ошибка которая записывается потом в журнале действий? На какой странице это происходит или что ее вызывает? Можно как-то узнать?
Поставил задачу на устранение таких ошибок программисту. А он мне написал “Напишите на какой странице возникают эти ошибки чтобы я мог исправить”… Но я не знаю что их вызывает, поэтому и обратился к нему за помощью… А он меня спрашивает…
Программист может понять откуда возникают ошибки которые записываются в журнале событий? Те строки что указаны для каждой ошибки в журнале событий под ссылкой “Отслеживание” (выделил красным на скрине выше) - они никак не могут помочь ему понять из-за чего или что вызывает эту ошибку?
А программист с движком совсем не знаком? Пускай почитает внимательно на скрине. Странный, какой то урл с ютф-8 или спец. символами открывается, и как будете сам факт открытие урла даёт эту ошибку. Но оно пишет урл знаками ??? и действительно не видно урла. Много таких ошибок?
Да, в первую очередь посмотрите кодировку веб сервера, и кодировку базы и самой таблицы, которая указана в проблемном запросе. Там в принципе и указано в тексте на скрине, что БД не может обработать запрос с двумя кодировками urf8 и utf8mb4
Вообще УРЛы с приставкой “goods” были на старой CMS с которой я и переехал на cs-cart. При переезде были созданы редиректы с УРЛ всех старых товаров с приставкой “goods” на новые УРЛ товаров в cs-cart.
Подозреваю, что данные ошибки появляються при переходе по старом УРЛ на товар… Может поисковый робот долбится по старым УРЛ которые в него в памяти… Но не понятно так ли это… и как можно узнать на какой странице возникает ошибка…
Кодировка базы данных:
character_set_database latin1
collation_database latin1_swedish_ci
Эти таблицы имеют кодироку отличную от utf8_general_ci: cs_bm_blocks_content - кодировка - utf8mb4_unicode_ci
И терь вот думаю, почему у меня кодировка базы данных НЕ utf8, а какая-то непонятная - latin1 и collation_database НЕ utf8_general_ci а latin1_swedish_ci…
Подскажите, должна же быть кодировка баз данных вот такая?
character_set_database utf8
collation_database utf8_general_ci
Кодировку в столбце cs_bm_blocks_content программисты меняли для того чтобы емодзи можно было добавлять в тексте в нужном блоке… Сказали что если нужны емодзи то обязательно должна быть кодировка utf8mb4_unicode_ci - без нее емодзи не будут сохраняться и отображаться на сайте. Так ли это?
значит базу создали со значениями по умолчанию - для забугорных latin1 как стандарт, а MySQL AB - шведская компания (поэтому и collation_database latin1_swedish_ci по дефолту)
а вот на mb4 как раз и ругается - тут выбирайте, или эмодзи и нотисы, или ни того, ни другого
Не пойму почему ругается если нет обращения к этой таблице…
В таблице cs_bm_blocks_content с кодировкой - utf8mb4_unicode_ci располагается контент из блоков, которые в макетах. А в ошибках с кодировкой показывает УРЛ с которых когда-то настраивались редиректы…
И потом код html сущности вставлять в нужном месте в контент, то получается мы ж не сам эмодзи будем вставлять, а его код. ,
И тогда в базе данных таблица может быть в кодировке - utf8_general_ci и в ней будет храниться код эмодзи, а на сайте в браузере он уже должен отображаться не как код, а как эмодзи - или не верно я понимю?