Ошибка со знаками пунктуации.
Начнем с термина –пунктуация - это один из знаков, который примеряется для разделения текста. Их не так много, но мы вынуждены ими пользоваться, поскольку текст без пунктуации, будет довольно странным.И вот один из таких знаков пробрался через ранее написанную функцию, вот это знак:
Если вы вообще не в курсе, то совсем немного по теме… Если вы используете кириллицу в адресной строке, то все ваши буквы будут выглядеть именно, как этот код… Хотя в некоторых браузерах вы этого увидеть не сможете – вам нужно скопировать все из адресной строки и вставить в блокнот. Хорошо это или плохо – догадайтесь сами!
Мы используем транслитерацию и каким-то образом данная ошибка появилась!
Другими словами, где-то, где должна была произойти замена кириллицы – этого просто не произошло!
Теперь надо разобраться как она выглядит и почему я её обнаружил…
Смотрим на конец ссылки в двух вариантах - попробуйте найти разницу...
А теперь откройте эти две страницы и вы увидите в чем между ними разница.
Ссылка №1Ссылка №2
Поскольку увидеть в адресной строке - этого нельзя, то и никогда бы я эту ошибку и не нашел, и не обнаружил, если бы у нас на сайте не стоял собственный счетчик посещений, который срабатывал на странице, но не срабатывал на главной - тоже парадокс - один и тот же код, вообще без каких либо изменений.
На странице выводится один раз, а на главной этот же код - только повторяется в цикле... В общем загадка программирования!...
Конечно, если вы используете движок. То понять и найти ошибку – практически невозможно - если недостаточно знаний...!
А поскольку все скрипты на моем сайте я писал самостоятельно, то и заню где это искать и в какую сторону смотреть.
Здесь мы знаем, что было передано – имеется ввиду текст, и конечно же сразу понятно, что не сработала замена тире а это было – из текста -
Роскомнадзор – это ад , а Дуров - ангел!До запятой - это и будет передаваться в адресную строку, и вместо, как раз тире и появилась у нас такая кракозябра...
И именно такое тире, отличается тем, что оно больше стандартного и оно по умолчанию выставляется в ворде, а пишу текст именно в ворде.
Вот таким образом длинное тире пробралось к нам на сайт.
И нам осталось лишь добавить соответствующую замену в функцию, которая и осуществляет замену... будем заменять, как обычно на нижнее подчеркивание...
И нужно, конечно, признаться, что я вначале попытался найти в интернете, что за такая херня - %E2%80%93.
И потратил немного времени, пока терпения хватило и дошел лишь до того, что в юникоде данный набор символов, и дальше уже я не ничего искать, и только потом сообразил, где и почему вылезла такая ошибка.
Если подумать – то совершенно глупая и тупая ошибка, но с другой стороны так всегда и бывает, разве ошибка бывает умной…
И если у тебя достаточно опыта и знаний. То ты вполне можешь эту задачку решить, ну а если наоборот, то придется набираться знаний или же кого-то просить!
И как бы ты не старался, чтобы ошибок не было, все равно они появляются оттуда, откуда не ждешь!
В общем я получил удовольствие найдя ошибку и исправив её…
Чего и вам желаю!