У меня есть приложение в Perl/CGI, где я получаю файл utf8 txt и обрабатываю его содержимое.Perl распознает utf8 как Unicode после 4096 байт
По какой-то причине (я думаю, что Perl делит файл на 4096 байт буфера, и только первый имеет знак байтового заказа). Perl интерпретирует содержимое файла как Unicode после 4096 байт.
Если я распространил некоторые дефисы («-») в середине файла (по крайней мере один для каждого блока из 4k), программа распознает его как utf8, возможно, потому, что Unicode не имеет дефиса.
Я получаю TXT из HTML страницы и отправить его в скалярной переменной, как это:
while(my $l = <$fh>){
$text .= $l;
}
Я пытался заставить utf8 конкатенацией каждую строку файла с тире:
while(my $l = <$fh>){
$text .= "–".$l;
}
Но я получаю эту ошибку:
Wide character in print at (eval 12) line 94.
ли кто-нибудь есть совет? имеет Спасибо!
"Unicode не имеют отдельные черточки". Это неверно. http://www.fileformat.info/info/unicode/char/2013/index.htm –