Легенда:
   новое сообщение
    закрытая нитка
    новое сообщение
    в закрытой нитке
    старое сообщение
         
		 | 
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
 - Новичкам также крайне полезно ознакомиться с данным документом.
   
  |   |   |   | 
а как узнать, какие хедеры посылает броузер и какие получает от сервера ?  07.11.03 22:40  Число просмотров: 2866
 Автор: tdes <jin> Статус: Member
 | 
 
| 
 | 
 
| 
<web building>
 |  
 
странная тема с кодировками  07.11.03 18:38  
 Автор: spy Статус: Незарегистрированный пользователь
 | 
 
на http://www.ruskodnes.sk/ru/ сделали секцию на русском, а она показывает всё центрально европейскими символами. Если смотреть HTML - там прописана "charset=windows-1251" , внутри плавающих фреймов с другой кодировкой вроде нет. 
 
 Если в IE сохранить страницу как "только HTML", то локально на компе тот же HTML что и при её просмотре в броузере, и страница выходит на русском. А если сохранить страницу как "Web Page, complete", то html файл выглядит немного по другому, и в броузере выходит как charset=windows-1250.
 
 в чём может быть проблема? направте меня в нужном направлении!
 | 
 
 
  | 
странная тема с кодировками  15.11.03 00:48  
 Автор: PaulGor Статус: Незарегистрированный пользователь Отредактировано 15.11.03 00:48  Количество правок: 1
 | 
 
> на http://www.ruskodnes.sk/ru/ сделали секцию на русском, а > она показывает всё центрально европейскими символами. 
 Сервер, конечно, ни в какую windows-1250 кодировку не перекодирует, a, как здесь уже предполагали, шлёт HTTP Header с указанием кодировки
 "Central European, windows-1250"
 
 Это можно посмотреть на сайте просмотра HTTP Header'ов:
 http://www.delorie.com/web/headers.html
   
 Что ему (хозяину сервера) сказать? Сказать, что бы не заполнялось поле кодировки в HTTP Header'е - тогда META...charset= в самом .html будет срабатывать...
 Вот мой Интернет Провайдер - CompuServe - не заполняет это поле, и поэтому я у себя могу страницы с любой кодировкой создавать...
 | 
 
 
  | 
может быть веб сервер автоматически перекодирует в windows-1250 ?  07.11.03 19:11  
 Автор: tdes <jin> Статус: Member
 | 
 
| 
 | 
 
 
  |   | 
может быть веб сервер автоматически перекодирует в windows-1250 ?  07.11.03 21:37  
 Автор: spy Статус: Незарегистрированный пользователь
 | 
 
вообще интересно, когда сервер автоматически перекодирует в другую кодировку, разве HTML не изменится и разве броузер не отвечает за интерпретацию полученого им с сервера HTML на компе "клиента"?
 
 может я не прав, но я понимаю так:
 если notepad'ом открыть HTML - там всё по русски, значит броузер имеет текст в нужной кодировке (w1251). так же, в хэдере, там указано, что это именно та кодировка (w1251).и насколько я понимаю, когда броузер уже получил HTML, сервер на интерпретацию этого кода уже не влияет - и всё должно быть путём.... только этого не происходит, и я явно чего-то упускаю или не знаю. поэтому в полной потере :-/
 | 
 
 
  |   |   | 
Некоторые соображения  07.11.03 22:23  
 Автор: Ktirf <Æ Rusakov> Статус: Elderman Отредактировано 07.11.03 22:23  Количество правок: 1
 | 
 
Мест, указывающих кодировку документа, два: HTTP-заголовок Content-Type, передаваемый сервером, и meta-тег в HTML-документе. Первый обычно фиксируется хостером/веб-мастером, второй - автором странички. Задача браузера - в зависимости от вышеуказанных значений переключиться в нужную кодировку (если, конечно, в браузере включено автоопределение кодировки). Честно говоря, я был уверен, что браузеры предпочитают meta-тег HTTP-заголовку, но похоже, это не так (только что посмотрел на Мозилле и Опере).
 Резюме состоит в том, чтобы попросить человека, имеющего доступ к конфигам того Апача, который у них там работает, поправить конфиги так, чтобы сервер хотя бы (!) следил за заголовком Accept-Charset, отправляемым браузером на сервер. Ну или как вариант просто не выставлял бы Content-Type в своих HTTP-заголовках, а писал бы его в тег внутри HTML-документов.
 | 
 
 
  |   |   |   | 
Некоторые соображения. Уточнение.  07.11.03 22:47  
 Автор: Eugene Статус: Незарегистрированный пользователь
 | 
 
ничего нового не скажу, только обобщу
 
 для решения подобных проблем рекомендую ставить русский апач, если есть такая возможность. 
 после указания в конфе или .htaccess 
 
 CharsetDefault windows-1251
 CharsetSourceEnc windows-1251
 
 не много браузеров продолжают сопротивляться.
 
 кодировка и правда выдается в контент-тайпе в параметре charset
 
 программно это можно реализовать так
 print $query->header( -charset => $wdwl::default_charset );
 
 между прочим, как раз опере доверяю в этом вопросе меньше нежели остальным.
 | 
 
 
  |   |   |   | 
а как узнать, какие хедеры посылает броузер и какие получает от сервера ?  07.11.03 22:40  
 Автор: tdes <jin> Статус: Member
 | 
 
| 
 | 
 
 
  |   |   |   |   | 
Про telnet тут уже более-менее завелся тред, но вообще-то  08.11.03 01:28  
 Автор: Ktirf <Æ Rusakov> Статус: Elderman
 | 
 
| 
Если под рукой есть Мозилла, то можно просто посмотреть Page Info -> Headers.
 | 
 
 
  |   |   |   |   | 
inside  07.11.03 23:03  
 Автор: Eugene Статус: Незарегистрированный пользователь
 | 
 
все, что посылает сервер браузеру можешь получить, послав из рядового телнета примитивный get запрос
 
 bash-2.05b# telnet bl.com.ua 80
 Trying 195.64.225.21...
 Connected to bl.com.ua.
 Escape character is '^]'.
 GET / HTTP1.1
 
 HTTP/1.1 200 OK
 Date: Fri, 07 Nov 2003 19:57:31 GMT
 Server: Apache/1.3.19 (Unix) mod_perl/1.26 PHP/4.1.2 rus/PL30.4
 Content-Length: 371
 Last-Modified: Mon, 01 Oct 2001 08:24:56 GMT
 ETag: "10f581-173-3bb82858-koi8-r"
 Connection: close
 Content-Type: text/html; charset=koi8-r
 Expires: Thu, 01 Jan 1970 00:00:01 GMT
 
 <!--## (C) 2000, ElVisti Information Center, I.S.P. //ssr@visti.net  ##-->
 <HTML>
 <META HTTP-EQUIV="pragma" CONTENT="no-cahce">
 <TITLE>[ Welcome to Web-hosting place @ElVisti ]</TITLE>
 <LINK rel="stylesheet" href="css" type="text/css" title="Basic Style">
 
 <BODY bgColor=#307080>
 
 <FONT class=td>
 <a href=http://www.visti.net>Visti.net</a> hosting place
 
 
 </BODY></HTML>
 Connection closed by foreign host.
 
 
 
 а для получения всего, что передает браузер - из скрипта распечатай хеш $ENV
 
 #!/usr/bin/perl
 
     use CGI;
 
     print CGI->header;
 
 foreach $i (%ENV) {
     print $i.":".$ENV{$i}."<br>";
 }
 
 
 так, или просто 
 
 print_r($_SERVER) в пхп
 | 
 
 
  |   |   |   |   |   | 
inside  07.11.03 23:38  
 Автор: tdes <jin> Статус: Member
 | 
 
когда я из рядового виндусовского telnet'a соединяюсь на 80 порт, у меня появляется черный экран, и когда я там пишу (при этом не видно что) 
 GET / HTTP1.1я получаю только html код, без хедеров
 | 
 
 
  |   |   |   |   |   |   | 
inside  08.11.03 00:17  
 Автор: Eugene Статус: Незарегистрированный пользователь
 | 
 
для начала включи в настройках эхо. далее - привожу пример для bugtraq.ru
 
 
 bash-2.05b# telnet 
 telnet> open bugtraq.ru 80
 Trying 195.209.36.90...
 Connected to bugtraq.ru.
 Escape character is '^]'.
 GET / HTTP1.1
 HTTP/1.1 400 Bad Request
 Date: Fri, 07 Nov 2003 21:09:04 GMT
 Server: Apache/1.3.27 (Unix) mod_perl/1.27
 Connection: close
 Content-Type: text/html; charset=iso-8859-1
 
 
 400, видимо, из-за отсутствия "Host:" в запросе. это сейчас и не важно. заголовки есть.
 
 телнет хоть и не виндоузятний, но вполне рядовой.
 | 
 
 
  |   |   |   |   |   |   |   | 
по правде говоря, не знаю где в этом telnet'e включать эхо  08.11.03 00:50  
 Автор: tdes <jin> Статус: Member
 | 
 
| 
 | 
 
 
  |   |   |   |   |   |   |   |   | 
Жмешь Ctrl-] потом набираешь "set ?"  08.11.03 01:00  
 Автор: amirul <Serge> Статус: The Elderman
 | 
 
| 
 | 
 
 
  |   |   |   |   |   |   |   |   |   | 
не могу ни к одному серваку подключится, за пределами лана  08.11.03 02:09  
 Автор: tdes <jin> Статус: Member
 | 
 
Connection to host lost
 фаервол может не давать ?
 | 
 
 
  |   |   |   |   |   |   |   |   |   |   | 
inside  08.11.03 18:28  
 Автор: Eugene Статус: Незарегистрированный пользователь
 | 
 
| 
возможно, или - обращайся к прокси в локальной сети. только тому нужен еще и параметр Host.
 | 
 
 
  |   | 
может быть веб сервер автоматически перекодирует в windows-1250 ?  07.11.03 21:16  
 Автор: spy Статус: Незарегистрированный пользователь
 | 
 
может. а как с этим бороться?
 вэбмастер того сайта тоже в непонятках что происходит.
 | 
 
 
  |   |   | 
может быть веб сервер автоматически перекодирует в windows-1250 ?  08.11.03 11:45  
 Автор: archy Статус: Незарегистрированный пользователь
 | 
 
> может. а как с этим бороться? > вэбмастер того сайта тоже в непонятках что происходит. Добавить в кофиг апача AddDefaultCharset windows-1251
 | 
 
 
  |   |   |   | 
может быть веб сервер автоматически перекодирует в windows-1250 ?  15.11.03 00:52  
 Автор: PaulGor Статус: Незарегистрированный пользователь
 | 
 
> > может. а как с этим бороться? > > вэбмастер того сайта тоже в непонятках что происходит. > Добавить в кофиг апача AddDefaultCharset windows-1251 
 Ну да, конечно! :) Ты видел адрес? Там на конце .sk стоит, видел?
 Если сделать так, как ты советуешь, то русская страница будет хорошо работать, а вот все остальные, их национальные - перестанут :)
 
  Нет, надо, чтобы вэбмастер сделал так, чтобы поле кодировки -
 Charset - вообще не заполнялось в HTTP Header'e.
 Если бы мой провайдер сделал, как ты советуешь, то я бы не смог ничего, кроме windows-1251 создавать, а у меня ведь и UTF-8 есть:
 http://ourworld.compuserve.com/homepages/PaulGor/utf8euro.htm
 
 | 
 
 
  
 
 | 
 |