Надо немного: поддержку юникода в регулярных выражениях
В примере ниже регулярные выражения работают хорошо, и при выводе странички никаких проблем нет, но при передаче файла возникает ошибка: utf8 "\xXX" does not map to Unicode at (eval 11) line 5
#!/usr/bin/perl -w
use strict;
use encoding 'utf8';
use Encode qw(_utf8_on);
use CGI;
binmode(STDIN, ':bytes');
my $cgi = new CGI;
foreach ($cgi->param()) {
my $s = $cgi->param($_);
_utf8_on($s);
$cgi->param($_, $s);
}
if (defined($cgi->param('submit'))) {
my $file = $cgi->param('file');
my ($fname) = $file =~ /([^\\\/]+)$/;
open(F, ">/tmp/$fname");
binmode(F);
foreach (<$file>) {
print F $_;
}
close(F);
print <<HTML;
Content-Type: application/xhtml+xml; charset=UTF-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title></head>
<body>
<h1>$fname</h1>
</body>
</html>
HTML
}
else {
print <<HTML;
Content-Type: application/xhtml+xml; charset=UTF-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title></head>
<body>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" name="submit"/>
</form>
</body>
</html>
HTML
}
Добавление прагмы use open IN => ':encoding(utf8)' частично решает проблему, но в error.log пишутся предупреждения вроде 'Wide character in print at (eval 3) line 85'
Существет ли решение проблемы?
PS:
Гугл посещал.
Ответ на:
комментарий
от ovax
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум String index out of range: 58 (2008)
- Форум !DOCTYPE (2012)
- Форум [PHP] Скажи что не так 2 (2011)
- Форум Gecko меня удивляет (2006)
- Форум Как избавиться от якоря при перенаправлении? (2013)
- Форум libWebKitGtk (не загружается файл HTML) (2021)
- Форум [newbie] маленькая проблема в css (2011)
- Форум [java][кодировка] параметр jsp-страницы (2009)
- Форум html-entities (2012)
- Форум POST zapros (2011)