Pav*_*sov 2 perl utf-8 character-encoding
我utf8::encode在使用pragma时遇到问题use open qw(:std :utf8);
例
#!/usr/bin/env perl
use v5.16;
use utf8;
use open qw(:std :utf8);
use Data::Dumper;
my $word = "+????";
say Dumper($word);
say utf8::is_utf8($word) ? 1 : 0;
utf8::encode($word);
say Dumper($word);
say utf8::is_utf8($word) ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
产量
$VAR1 = "+\x{431}\x{430}\x{43d}\x{43a}";
1
$VAR1 = '+банк';
0
Run Code Online (Sandbox Code Playgroud)
当我删除这个pragma use open qw(:std :utf8);,一切都很好.
$VAR1 = "+\x{431}\x{430}\x{43d}\x{43a}";
1
$VAR1 = '+????';
0
Run Code Online (Sandbox Code Playgroud)
先谢谢你!
如果你要更换utf8::encode($word);有use open qw(:std :utf8);,你实际上需要删除utf8::encode($word);.在不起作用的版本中,您进行了两次编码.
| 归档时间: |
|
| 查看次数: |
265 次 |
| 最近记录: |