thx to vbsupport & zCarotОчень часто возникают вопросы с неверной кодировкой, при этом возникает термин "иероглиф".
Чем больше я встречаюсь с такой проблемой, тем чаще приходится задумываться о том, чтобы выработать единую стратегию борьбы с ними, но с небольшими изменениями для конкретных типов.
Имеет ли дальнейшее смысл? Возможно, что и нет Но можно попробовать.
[spoiler=""Итак, проведём перекличку""]Для начала покажу оригиналы. Два идентичных текстовых документа в кодировках cp1251(windows-1251) и UTF-8, просмотренные в браузере с соответствующим указанием кодировки:
cp1251 - cp1251: utf8 - utf8: Как вы видите, картинки идентичны. Хотя было бы удивительно, если бы это было не так
Остановимся пока на кодировке cp1251 и посмотрим как она будет выглядеть, если указать неверную кодировку при просмотре:
cp1251 - utf8 (наиболее часто встречающийся вариант) Это единственный случай, когда в разных обстоятельствах и разные браузеры могут обрабатывать по разному.
Возьмём более экзотический вариант:
cp1251 - cp1252
и ещё более экзотический (хотя раньше это встречалось намного чаще)
cp1251 - koi8r
Пока всё, что мы видим, выглядит по разному, то есть мы довольно легко можем определить начальную и конечную кодировку.
Вернёмся к utf8 и сделаем те же самые скриншоты
utf8 - cp1251
utf8 - cp1252
utf8 - koi8r
[/spoiler]
Рассмотрев всё это, можно сделать некую классификацию иероглифов:
Оригинал - отображение нормального текста
Чёрные ромбы или пустые квадраты - текст из cp1251 отображается в utf8
Буквы A,E,I,O,U - текст из cp1251 отображается в cp1252 (или аналогичной западной кодировке)
дРУГОЙ рЕГИСТР и буквы - текст из cp1251 отображается в koi8-r
Буквы Р и С - текст из utf8 отображается в cp1251
Буквы D и N - текст из utf8 отображается в cp1252 (или аналогичной западной кодировке)
Буквы п и я + псевдографика - текст из utf8 отображается в koi8r
Авторство полностью принадлежит zCarot