Как стать автором
Обновить

Комментарии 25

Как есть жопой, если руки связаны.
хороший повод перейти на narod2.ru
Интересно, конечно, но, имхо, такой конкретный костылище не стоит того, чтобы вопреки древнему бесплатному хостингу пытаться выкладывать туда непременно в правильном utf-8.
Но тут встаёт философский вопрос: а кому лучше знать кодировку документа — серверу (автору .htaccess) или самому HTML-документу (его автору)?
Не очень понятно… вообще-то .htaccess это не чужак-«сервер», обычно он относится всё же к «самому HTML-документу» и «автор» чаще всего там один и тот же как раз. И если там и там разные кодировки указаны, то тут уж этот автор ССЗБ, как говорится.
В данном случае автор статей — публицист, а автор .htaccess — программист. Они между собой не знакомы и никак не связаны, принадлежа к разным структурам в разных городах. И программист вдобавок вообще не обязан сотрудничать с публицистом. Приходится выкручиваться.
в этом случае должны быть прописаны/проговорены общие правила сосуществования.
Вы о чём? В данном случае хостеру это не нужно, это проблема публициста.
Как вариант, проще один раз вывести всплывающее окошко с текстом «Переключи кодировку на UTF8, сцуко!» и записать в куку, что окошко показывалось.
Я думал над этим. Но дёргать безвинного посетителя посчитал неэтичным. Тем более, уже имел отзывы от знакомых ламеров, которые не смогли переключить кодировку.
> «Пользователь может получить читабельный текст — только если догадается вручную переключить кодировку в браузере.… Перекодировать тексты? Более достойным и интересным показалось поставить Javascript-«заплатку».»

Лучше и достойнее перекодировать текст статьи! Это делается за несколько секунд.
Нет, не лучше. Я потом собираюсь те же тексты выложить на нормальный хостинг и не хочу путаться в их версиях с разными кодировками. Сделано уже в UTF-8, значит сделано, а отступление — не наш метод.

Кстати: если знаете, как за несколько секунд перекодировать в Windows-1251 статью, в которой полно символов за пределами этой кодировки, подскажите.
> «Я потом собираюсь те же тексты выложить на нормальный хостинг и не хочу путаться в их версиях с разными кодировками»

Можно узнать сколько у Вас статей?
Десятка три.
А покажите же нам саму статью!
По мне так тоже грамотным решением будет перекодировка статьи в windows-1251
Ну, вот, например. Хотя не понимаю, чем это Вам поможет.

Перекодировать — и хранить две копии? И так прогибаться ради причуд устаревшего хостинга?

Странные люди, набросились с упрёками, что я зря огород горожу. Я же так и написал прямо, что это кунштюк, в развлекательно-образовательных целях. Правильное решение — это, конечно, переход на другой хостинг.
Перекодировать — это пара минут. Хранить это пара мегабайт. В вашем примере вообще нет ничего такого сложного
Да, пара минут; с риском что-нибудь пропустить. Хранить — это не столько мегабайты, сколько опять же риск перепутать разные версии. И ради чего? Ради уважения к неправильному HTTP-заголовку?

А скрипт прицепить — секундное дело.
Приделать костыль к костылю, это все же сильно. Не проще выложить в win-1251 документ и не парить мозг?
Проще, конечно. Но это означает спасовать перед отсталым хостингом. Не одобряю коллаборационизм.
Народ занимает конкретную рыночную нишу — это сервис для простых юзеров, желающих создать страничку для своего кота с синим текстом на оранжевом фоне. И заголовок с указанием кодировки отправляется потому, что Вася с котом, создавая страничку, на которую зайдут только два друга, совершенно не заморачивается вопросом кодировок — он и слов таких не знает.

Колабборационизм, надо же… Если Вы выросли из возраста лепки куличиков из песка, песочница стала врагом?
Не врагом, но уж если приходится там что-то лепить, так уж с фантазией!
Причина, по которой браузеры считают заголовок Content-Type более весомым, называется RFC-2070.
For definiteness, the «charset» parameter received from the source of the document should be considered the most authoritative, followed in order of preference by the contents of a META element such as the above, and finally the CHARSET parameter of the anchor that was followed (if any).

Почему так, а не иначе? Читайте RFC, там написано :)
Кроме того, существуют перекодирующие прокси-серверы. После того, как документ прошел через такой сервер, мета-тег теряет всякий смысл.
НЛО прилетело и опубликовало эту надпись здесь
Это не соответствует условиям задачи. Задача была добиться результата на том же хостинге.
Мне почему-то кажется, что объект Win1251 вполне можно оптимизировать. До 0x7F там идут одинаковые цифры. А дальше — просто перечисление в значениях. Поэтому можно ключи в массив, а значения динамически генерировать.

А вообще — не пробовали <meta charset=«UTF-8»/>?
Мне почему-то кажется, что объект Win1251 вполне можно оптимизировать. До 0x7F там идут одинаковые цифры.


Расписано для наглядности. Но я не уверен, что это была бы оптимизация. Код занял бы меньше места, зато потребовал бы больше операций.

А вообще — не пробовали <meta charset="UTF-8"/>?


А Вы статью читали? Этот сервер шлёт кодировку в заголовке, а информация из HTTP-заголовков приоритетна над метатегами.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории