Проблема возникает при загрузке файла на сервер, при использовании директивы 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, работает и мне этот вариант подходит.
Спасибо, Дмитрий.