LINUX.ORG.RU

кодировки в языке html


0

0

помогите мне пож-ста разобраться с одной вещью. на сайте линукс.орг.ру есть одна очень удобная вещь: кнопки для смены (конвертации) страницы в определенную кодировку. Я понимаю что сайт написан не в html'e, но все же хотел вас (экспертов) спросить как реализовать это в html'e и что для этого необходимо? (может какой нибудь модуль в веб-сервере или еще чтонибудь). спасибо большое.

★★★★★

Эти кнопочки afaik уже очень давно не работают.
1) кодировку лучше всего указывать в мета тегах html документа.
2) кодировка должна быть cp1251
3) если есть браузеры, которые не дружат с cp1251 или страницы сайта на разных языках, то есть несколько вариантов
а) пользовать utf-8
б) если сайт статический и веб-сервер не под твоим контролем, то создать просто несколько копий сайта в разных кодировках
в) если сайт динамический и веб-сервер не под твоим контролем, то можно реализовать перекодировку контента
г) если веб-сервер под твоим контролем, то посмотри на сайт russian apache, он позволяет делать перекодировку по портам. Сейчас его мало пользуют из-за ненадобности.

anonymous
()
Ответ на: комментарий от anonymous

> 2) кодировка должна быть cp1251

Фигня. Никому ничего она не должна. Страница может быть в любой кодировке, хоть в cp866. Если ты всё ровно прописал в <meta>, она и отображаться будет ровно.

theSoul ★★★
()
Ответ на: комментарий от anonymous

> кнопочки afaik уже очень давно не работают.

А если и работают, то современным браузерам нафиг не нужны. А те, кто пользуется несовременными - ССЗБ.

> 1) кодировку лучше всего указывать в мета тегах html документа.

Скажем так, её там лучше _тоже_ указывать. А ещё неплохо бы в HTTP-заголовках, особенно в случаях, если сам формат документов не поддерживает указание кодировки, типа plain text. И следить, чтобы кодировки совпадали между собой и с кодировкой документа.

> 2) кодировка должна быть cp1251

Весьма спорно. По большому счёту, пофиг какая кодировка, если в ней есть все символы, присутствующие в документе. А даже если некоторые и не присутствуют, то &#NNNN; ещё никто не отменял, AFAIK. Главное, соблюсти 1).

> а) пользовать utf-8

С утолщением каналов это, похоже, самое разумное решение. Однако, про dial-up'щиков в России пока тоже не стоит забывать (русские буквы в UTF-8 - двубайтные). Однако, современные браузеры поддерживают также компрессию/декомпрессию контента на лету, что в значительной степени сглаживает различия. Посему, recommended.

> б) ... то создать просто несколько копий сайта в разных кодировках > в) ... то можно реализовать перекодировку контента

Работает только для сайтов, в которых не встречается двух языков на одной странице. Иначе, см. a).

> г) ... посмотри на сайт russian apache, он позволяет делать перекодировку по портам.

Ни в коем случае не делай этого (разве только для самообразования). Такого глючного угрёбища как Russian Apache ещё поискать. В своё время, у 99% (субъективно) страничек отдаваемых русскими апачами в рунете были неправильно выставлены кодировки. Сейчас разработчики, вроде, узнали, что есть такая штука, как RFC и стандарты (а может, американцы узнали, что на Земле есть и другие языки кроме американского), поэтому ситуация несколько улучшилась. Но зачем, он нужен, если всё замечательно можно сделать на неRussian Apache?

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от watashiwa_daredeska

>С утолщением каналов это, похоже, самое разумное решение. Однако, про dial-up'щиков в России пока тоже не стоит забывать (русские буквы в UTF-8 - двубайтные).

Чувак, ты гонишь! Маленькая флешка весит столько же, сколько и <<Война и мир>>. Несколько банеров потянут на комментарии к нему. => Удвоение объёма текста приведёт к незначительному увеличению объёма страницы в целом.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

> Маленькая флешка весит столько же, сколько и <<Война и мир>>. Несколько банеров потянут на комментарии к нему.

Он (Flash) у меня не установлен и режется. Баннеры тоже режутся. Так что... Если всё это грузить, то жить, конечно, можно будет, но тяжко очень.

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от watashiwa_daredeska

> современные браузеры поддерживают также компрессию/декомпрессию контента на лету

Кажется, это реализовано на уровне протокола PPP. Есть такие модули ppp-deflate и bsd-comp.

theSoul ★★★
()
Ответ на: комментарий от theSoul

Есть, но у меня знакомый народ на сайте организовывал сжатие. Утверждается, что снизилась загрузка сайта, а скорость повысилась.

jackill ★★★★★
()
Ответ на: комментарий от watashiwa_daredeska

>не стоит забывать (русские буквы в UTF-8 - двубайтные).

а почему тогда у меня файл с русским текстом в кодировке utf8 и кои8 занимает одинаково место?

anonymous
()

большое спасибо всем за ответы. у меня правда есть еще пару вопросов по кодировкам... у меня на сайте zaparuga.nm.ru (это не реклама!) стоит как и у каждого, уважающего себя линуксоида, кои8р. Но када конектишся на страницу, то нуна в браузере выбирать ее (кои8р) руками, тоесть автоматом не включается она. Как я понимаю это баг в веб-сервере у сайта nm.ru, ибо у меня на компе стоит апач, я подправил там httpd.conf и ща все рулит - ну тоесть переключается автоматом. Я написал админу нм.ру письмо, в котором попросил "доконфигурировать" веб-сервер, на что он мне ответил (цитирую все письмо): /****************/ На сервере по умолчанию стоит win-1251. По стандарту HTML 4.0 браузер отдает управление серверу, уже не говоря о том, что это браузер должен менять кодировку, а не сервер. И кто вам мешает поставить нормальную современную кодировку у себя на странице. /****************/ ну разве не лох?=) я ему говорю повторно, что проблема в настройках сервера. Чкажите, ведь я прав? И еще вопрос к watashiwa_daredeska, скажи пож-ста, как ты сделал чтобы реклама резалась? какой утилитой?(насколько я понял, ты тоже линукс-пользователь...) А то я юзал на днях squid но не допер как им пользовацца...раскажи, коль знаешь. Все еще раз пасиба.

soko1 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> 2) кодировка должна быть cp1251

Долго думал, чтоб такую чушь сморозить?

> 3) если есть браузеры, которые не дружат с cp1251 или страницы сайта на разных языках, то есть несколько вариантов

> а) пользовать utf-8

В свете разных языков - да, а вот в свете недружбы с cp1251 - скорее всего и с utf-8 не будет дружить.

> б) если сайт статический и веб-сервер не под твоим контролем, то создать просто несколько копий сайта в разных кодировках

Вторая глупость, какого хрена пользователь должен думать в какой кодировке должны быть странички, ты вообще откуда вылез, таких горе-разработчиков надо гнать сцаными тряпками.

> г) если веб-сервер под твоим контролем, то посмотри на сайт russian apache, он позволяет делать перекодировку по портам. Сейчас его мало пользуют из-за ненадобности.

Повторение предыдущей глупости, не фиг свои половые трудности перекладывать на конечного пользователя.

anonymous
()
Ответ на: комментарий от soko1

Ты забыл пальцы веером нарисовать после фразы "Сайт оптимизирован под консольный браузер links. ". Так делают все настоящие хакеры ;)

uj2 ★★★
()
Ответ на: комментарий от soko1

soko1, если у тебя прописан в мете чарсет koi8-r, а сервер продолжает отдавать странички в windows-1251, что требует ручного переключения, значит проблема действительно на сервере.

В случаях, когда ответственное за сервер лицо отказывается сотрудничать, надо обращаться к его начальству.

anonymous
()
Ответ на: комментарий от anonymous

а как я напишу начальству? ведь он (админ) и есть начальник. темболее сервер бесплатный. меня пошлют куда подальше...

soko1 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

xchm не пробовал. но спасибо за инфу. мне уже просто ненужно, ибо книгу зубкова я купил в хардварном варианте=)

soko1 ★★★★★
() автор топика
Ответ на: комментарий от soko1

>у меня на сайте zaparuga.nm.ru (это не реклама!) стоит как и у каждого, уважающего себя линуксоида, кои8р

>... На сервере по умолчанию стоит win-1251

Если у него крутится apache, то достаточно прописать твоему админу в конфиге

AllowOverride FileInfo

А тебе создать в корневой папке твоего веб-ресурса файлик .hеaccess с единственной строчкой

AddDefaultCharset koi8-r

И будет тебе, продвинутому хакиру, счастье.

MOByte
()
Ответ на: комментарий от soko1

>ок. спасибо. я скажу админу-лоху=) блин, с чего вы все взяли что я хакер?

Не обижайся :) У меня, наоборот, на сервере в апаче жестко прописана кодировка koi8-r. А в веб-каталогах пользователей целый винигрет с кодировками, но все работает нормально с .htaccess

MOByte
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.