информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetСетевые кракеры и правда о деле ЛевинаСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
может быть веб сервер автоматически перекодирует в windows-1250 ? 07.11.03 19:11  Число просмотров: 2690
Автор: 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
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach