|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Sapozhnikov 2:5020/400 23 May 2002 18:58:57 To : Artem Chuprina Subject : Re: Hа: динамически подобрать код ировку -------------------------------------------------------------------------------- Artem Chuprina wrote: > сможет. Известный глюк эксплорера. Вернее, глюк-то присутствует у всех > браузеров, кроме (AFAIK) lynx - ни один не признается, в какой кодировке он > отправил содержимое формы. У эксплорера он просто накладывается на привычку не > терять данные - если нет возможности перекодировать их в предложенную > сервером кодировку, перекодировка не производится (никаким стандартом такое > поведение не запрещается). А глюк при этом приводит к невозможности узнать, > какая была кодировка. Полагаю, что можно определиться с кодировкой по заведомо известной строке. К примеру проанализировать в какой кодировке было получено слово "Отправить" в параметре submit. Или вообще воспользоваться в качестве таблицы алфавитом переданным при запросе в виде hidden поля (для определения неизвестных науке кодировок). Т.е. выдаем с заведомо правильным charset-ом: <form action="script.cgi" method="post"> <input type="hidden" name="xlat" value="абвгдежзий....."> <input type="text" name="name"> </form> а в скрипте получаем: my $xlat = $query->param('xlat'); # == 'ЮАБЦДЕФГХИ...', к примеру после чего перекодируем: my $name = $query->param('name'); eval "\$name =~ tr/$xlat/абвгдежзий.../"; Андрей P.S. Сам знаю, что извращение. P.P.S. Hе проверял, кому нужно - проверьте сами. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/52844da064a1.html, оценка из 5, голосов 10
|