Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Dmitry E. Oboukhov                   2:5004/75.151  13 Dec 2006  17:52:52
 To : Andrew Alakozow
 Subject : русский, utf8 больш
 -------------------------------------------------------------------------------- 
 
 >>  что-то не работает:
 AA> ...
 >>  dwork:[/home/dimka/tmp]$ perl test.pl 2
 AA> Попробуй  cat 2 | perl test.pl
 
 ага, спасибо заработало,
 а теперь еще вопрос
 
 есть мысли по поводу того чтобы заработало то же самое но в CGI-скрипте?
 
 вот такой вот тестовый CGI-скрипт:
 
 dwork:[/home/dimka]$ cat utf8_test.cgi
 #!/usr/bin/perl
 
 use CGI::Simple;
 use encoding 'utf8';
 
 my %cgi=CGI::Simple->new()->Vars;
 my $name='тест';
 
 print <<html;
 Content-Type: text/html; charset=utf-8
 
 <html>
 <body>
 
 <form>
 <input type="text" name="field">
 <input type="submit" value="Проверка"><br>
 html
 
 if (exists $cgi{field})
 {
   print "Результат проверки: ";
   if ($cgi{field} =~ /$name/i) { print "да\n"; }
   else { print "Hет\n"; }
   print "<br>Введено: $cgi{field}\n";
   print "<br>Проверочное слово: $name\n";
 }
 
 print <<html;
 </form>
 </body>
 </html>
 html
 
 dwork:[/home/dimka] $
 
 тестируем,
 ***************************************
 первый тест:
 
 ввод: тест
  Результат проверки: Hет
  Введено: тест
  Проверочное слово: тест
 
 ***************************************
 второй тест:
 убираем из скрипта строку use encoding 'utf8';
 
 ввод: тест
  Результат проверки: Да
  Введено: тест
  Проверочное слово: тест
 
 ввод: Тест
  Результат проверки: Hет
  Введено: тест
  Проверочное слово: тест
 
 ***************************************
 третий тест:
 ставим строку use encoding 'utf8'; перед строкой use CGI::Simple;
 
 ввод: тест
  Результат проверки: Hет
  Введено: тест
  Проверочное слово: тест
 
 при этом ругается в логах (STDERR скрипта)
 Wide character in print at /usr/share/games/ogamesim-www/utf8_test.cgi line
 9., referer: http://localhost/utf8.cgi?field=%D1%82%D0%B5%D1%81%D1%82
 
 строка 9 - print <<html;
 ну и на все принты в программе ругается, исключая последний.
 а если просто в таком виде в комстроке пустить, то ругается только на
 первый принт:
 
 $ ./utf8_test.cgi
 Wide character in print at ./utf8_test.cgi line 9.
 Content-Type: text/html; charset=utf-8
 ...
 
 помогите пожалуйста а то я ничего не понимаю как быть?
 --- Mutt/1.5.13 (2006-08-11)
  * Origin: Слава КПСС! (2:5004/75.151)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 русский, utf8 больш   Dmitry E. Oboukhov   13 Dec 2006 17:52:52 
 Re: русский, utf8 больш   Andrew Alakozow   13 Dec 2006 20:35:20 
 русский, utf8 больш   Dmitry E. Oboukhov   13 Dec 2006 21:04:34 
Архивное /ru.perl/39262a82d77b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional