|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexey Gradovtsev 2:5020/400 22 Jul 2003 13:36:22 To : Victor Wagner Subject : Re: File upload -------------------------------------------------------------------------------- Mon Jul 21 2003 14:35, Victor Wagner wrote to "Alexey Gradovtsev": AG>> В корневом каталоге CharsetDisable On. Пусть броузеры смотрят, что AG>> указано в html-коде (а написано там <meta http-equiv="Content-Type" AG>> content="text/html; charset=KOI8-R">) VW> Вот лучше бы сделать чтобы эта информация выводилась не внутри HTML VW> а снаружи, в заголовках. VW> Попробуй рядом с CharsetDisable on написать VW> AddDefaultCharset что-надо. ^^^^^^^^^^^^^^^^^^^^^^^^^^ ОГРОМHОЕ СПАСИБО!!! Сам бы вряд ли нашел эту директиву, т.к. она относительно новая. Вот теперь мой .htaccess в корневом каталоге: === CharsetDisable On AddDefaultCharset KOI8-R === Таким способом: а). апач не производит перекодировок (что особенно ценно при upload'е файлов), б). выдает в HTTP-заголовках правильную информацию о charset'e, не позволяя броузерам глючить на <meta>. VW> Или, если речь идет об эхотаге, выдавай VW> Content-Type: text/html; charset= что-надо VW> из скрипта Тоже должно работать, судя по полученным результатам. VW> Ты выдаешь форму, пользователь ее заполняет посредством cut'n'paste из VW> соседнего окна, и приносит туда символ, который в кодировке koi8-r VW> начисто отсутсвует. Hапример, кавычки-елочки или знак номера. VW> Один широко распространенный браузер одной широко известной фирмы VW> реагирует на данную ситуациию следующим образом - видя, что VW> перекодировать пользовательский ввод не получается, отправляет его как VW> есть, ни слова не говоря (т.е. не выставив Content-Type: VW> application/x-www-urlencoded; charset=windows-1251) Есть еще один глюк того же броузера. Если указать кодировку только в тегах <meta>, то результаты работы cgi-скрипта при запросе GET выводятся правильно - IE определяет кодировку. А вот при запросе POST ровно те же результаты выдаются кракозябрами - видимо, IE 6 не справляется с задачей. В Opera 7 те же испытания показали, что Opera 7 - хороший броузер. VW> Поэтому, если ты хочешь пользоваться неперекодирующим апачем (что есть VW> правильно) кодировка хранения должна быть windows-1251. VW> Поскольку те браузеры, для которых оная кодировка дефолтной не является, VW> подобного себе не позволяют. Буду знать. Digitally yours, Alexey. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/166794997258f.html, оценка из 5, голосов 10
|