У меня есть это слово comЯade, но я не могу напечатать его в HTML из-за русского Я... Я пробовал:
$HTML::Entities::char2entity{'Я'} = 'Я';
$HTML::Entities::char2entity{'1071'} = 'Я';
$HTML::Entities::char2entity{'ï'} = 'Я';
$str = HTML::Entities::encode_entities( $str, q{Яï1071} );
и после этого я попробовал:
$str =~ s/1071/Я/g;
$str =~ s/Я/Я/g;
$str =~ s/ï/Я/g;
Но в обоих случаях я получаю эту ошибку:
Широкий символ в системной записи в /usr/local/share/perl/5.10.1/Starman/Server.pm, строка 470.
Почему?
Некоторый код:
title.mi
<%init>
binmode STDOUT, ':encoding(UTF-8)';
($str =~ s/&/%26/g;); #this is working
$str =~ s/1071/Я/g;
$str =~ s/Я/Я/g;
$str =~ s/ï/Я/g;
</%init>
<div class="bd-headline left">
<h1 style="margin-top:0; padding-top:0;"> <% $str %> </h1>
</div>
base.mc
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>