【发布时间】:2013-08-28 11:30:10
【问题描述】:
以下最小示例的输出显示(在我的 linux 机器上)File::Glob 似乎具有将 utf8 字符串转换为非 utf8 的意外副作用:
#!/usr/bin/perl
use utf8;
use strict;
my $x = "påminnelser";
my $y = glob $x;
print "x=",utf8::is_utf8($x),"=\n";
print "y=",utf8::is_utf8($y),"=\n";
这导致我的程序出现错误行为。在 linux 上,看起来我可以通过在 File::Glob 之后应用 utf8::decode() 来修复它。这是解决此问题的正确方法吗?这是 File::Glob 中的错误吗?我的修复是否会在 Windows 等其他系统上产生正确的结果?
【问题讨论】:
标签: perl unicode utf-8 internationalization