Проблема возникает при загрузке файла на сервер, при использовании директивы use encoding 'utf8\′;
Ошибка: utf8 «\\x8C» does not map to Unicode at ……..
Лог:
[Mon Mar 15 13:04:11 2010] [error] [client 127.0.0.1] utf8 «\\xDA» does not map to Unicode at (eval 10) line 5., referer: localhost:8002/form.html
[Mon Mar 15 13:04:11 2010] [error] [client 127.0.0.1] utf8 «\\xFF» does not map to Unicode at (eval 10) line 5., referer: localhost:8002/form.html
[Mon Mar 15 13:04:11 2010] [error] [client 127.0.0.1] utf8 «\\xE1» does not map to Unicode at (eval 10) line 5., referer: localhost:8002/form.html
…………………
[Mon Mar 15 13:04:11 2010] [error] [client 127.0.0.1] Malformed multipart POST, referer: localhost:8002/form.html
[Mon Mar 15 13:04:11 2010] [error] [client 127.0.0.1] Premature end of script headers: test.pl, referer: localhost:8002/form.html
Код.
form.html(Форма)
<form enctype="multipart/form-data" method="post" action="test.pl"> <input type="file" name="icon" /> <input type="submit" name="buttom" value="OK" /> </form>
test.pl (скрипт загружает файл)
#!/usr/bin/perl
use CGI;
use encoding 'utf8';
my $cgi = CGI->new;
# Загрузка файла от пользователя
my $file_name = $cgi->param('icon');
open(OUT,">/some_path/$file_name");
# читаем входной поток и пишем в файл
binmode(OUT, ':bytes');
while (<$file_name>) {
print OUT $_;
}
close(OUT);
Насколько я понял ошибка кроется в модуле CGI.pm. Кто-нибудь сталкивался с такой проблемой?
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark

Почему бы не «use utf8;» вместо use encoding… ?
use utf8 — не влияет на интерпретацию строк со сброшенным флагом UTF-8. Прагма use encoding более функциональна.
НО… Скрипт при использовании прагмы use utf8, работает и мне этот вариант подходит.
Спасибо, Дмитрий.