Классификация иероглифов

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
gM@X
VIP
VIP
Сообщения: 430
Зарегистрирован: 16.01.2006
Поблагодарили: 2 раза

#1 Сообщение 08.02.2009, 05:17

Вот когда-то нашёл интересную тему на vbsupport про отображение русского корректное и не корректное, относительно актуальная тема, всё что ниже это не решения проблемы, а только поможет вам разобраться в чём косяк и наставить на пусть истинный :)
Очень часто возникают вопросы с неверной кодировкой, при этом возникает термин "иероглиф".
Чем больше я встречаюсь с такой проблемой, тем чаще приходится задумываться о том, чтобы выработать единую стратегию борьбы с ними, но с небольшими изменениями для конкретных типов.

Имеет ли дальнейшее смысл? Возможно, что и нет Но можно попробовать.

[spoiler=""Итак, проведём перекличку""]Для начала покажу оригиналы. Два идентичных текстовых документа в кодировках cp1251(windows-1251) и UTF-8, просмотренные в браузере с соответствующим указанием кодировки:

cp1251 - cp1251:
cp1251-cp1251_9g.png
cp1251-cp1251_9g.png (5.85 КБ) 1117 просмотров
cp1251-cp1251_9g.png
cp1251-cp1251_9g.png (5.85 КБ) 1117 просмотров
utf8 - utf8:
utf8-utf8_dh.png
utf8-utf8_dh.png (5.81 КБ) 1116 просмотров
utf8-utf8_dh.png
utf8-utf8_dh.png (5.81 КБ) 1116 просмотров
Как вы видите, картинки идентичны. Хотя было бы удивительно, если бы это было не так

Остановимся пока на кодировке cp1251 и посмотрим как она будет выглядеть, если указать неверную кодировку при просмотре:
cp1251 - utf8 (наиболее часто встречающийся вариант)
cp1251-utf8_rf.png
cp1251-utf8_rf.png (3.88 КБ) 1117 просмотров
cp1251-utf8_rf.png
cp1251-utf8_rf.png (3.88 КБ) 1117 просмотров
Это единственный случай, когда в разных обстоятельствах и разные браузеры могут обрабатывать по разному.

Возьмём более экзотический вариант:
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
thx to vbsupport & zCarot
Авторство полностью принадлежит zCarot

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#2 Сообщение 08.02.2009, 15:12

полезная штука %)
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

BeHuK
Лейтенант
Лейтенант
Сообщения: 147
Зарегистрирован: 25.05.2008

#3 Сообщение 08.02.2009, 18:02

В клипании плагинов поможет. спасибо)) Тема ок!

Owyn
Сержант
Сержант
Сообщения: 42
Зарегистрирован: 29.12.2008

#4 Сообщение 09.02.2009, 02:38

моего варианта неправильного отображения нету)) у меня вместо русского горизонтальные палочки с закорючками типа лежачего знака параграфа
Изображение

Ответить Вложения 3