Как я могу произвести UTF-8 от Perl?

Проверьте файлы html / ejs на наличие статических ссылок на файлы, возможно, вы забыли добавить «/» в начале относительных URL.

104
задан dda 5 March 2013 в 13:00
поделиться

4 ответа

use utf8; не включает вывод Unicode - он позволяет Вам ввести Unicode в своей программе. Добавьте это к программе перед Вашим print() оператор:

binmode(STDOUT, ":utf8");

Видят, помогает ли это. Это должно сделать STDOUT вывод в UTF-8 вместо обычного ASCII.

154
ответ дан Chris Lutz 24 November 2019 в 04:04
поделиться

Можно использовать открытая прагма .

Для, например, ниже наборов STDOUT, STDIN & STDERR для использования UTF-8....

use open qw/:std :utf8/;
83
ответ дан AndyG 24 November 2019 в 04:04
поделиться

сделайте в своей оболочке: ENV $ |grep ЛЕНГ

Это, вероятно, покажет, что Ваша оболочка не использует utf-8 локаль.

-3
ответ дан nxadm 24 November 2019 в 04:04
поделиться

TMTOWTDI , выбрал метод, который лучше всего подходит для вашей работы. Я использую метод среды, поэтому мне не нужно об этом думать.

В среде :

export PERL_UNICODE=SDL

в командной строке :

perl -CSDL -le 'print "\x{1815}"';

или с binmode :

binmode(STDOUT, ":utf8");          #treat as if it is UTF-8
binmode(STDIN, ":encoding(utf8)"); #actually check if it is UTF-8

или с PerlIO :

open my $fh, ">:utf8", $filename
    or die "could not open $filename: $!\n";

open my $fh, "<:encoding(utf-8)", $filename
    or die "could not open $filename: $!\n";

или с открытой прагмой :

use open ":encoding(utf8)";
use open IN => ":encoding(utf8)", OUT => ":utf8";
64
ответ дан 24 November 2019 в 04:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: