【发布时间】:2015-10-01 00:03:39
【问题描述】:
我正在寻找一些关于如何使用 Unicode 字符创建文件名的指南。考虑:
use open qw( :std :utf8 );
use strict;
use utf8;
use warnings;
use Data::Dump;
use Encode qw(encode);
my $utf8_file_name1 = encode('UTF-8', 'æ1', Encode::FB_CROAK | Encode::LEAVE_SRC);
my $utf8_file_name2 = 'æ2';
dd $utf8_file_name1;
dd $utf8_file_name2;
qx{touch $utf8_file_name1};
qx{touch $utf8_file_name2};
print (qx{ls æ*});
输出是:
"\xC3\xA61"
"\xE62"
æ1
æ2
为什么我是否将文件名编码为 UTF8 并不重要? (无论哪种方式,文件名仍然变为有效的 UTF8。)
【问题讨论】: