Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
странная тема с кодировками 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
|
|
|