在使用Perl的一行程序替换文件中的一些utf8文本时,我发现了这个问题。我知道有黑客攻击。他们不适合这个案子。操作系统是linux,locate设置为utf8。file# also grep finds itТекст на юникоде
# different perlhacks mentioned at reference question don't
我已经知道如何使用如下代码将文件中的非UTF 8编码内容逐行转换为UTF-8编码:open my $filter,"<",但是我认为Perl可以直接将整个输入文件编码成UTF-8格式,所以我尝试了如下open my $filter,"<:utf8",'c:/outfile.txt';
(Perl</em
chomp; say "OK" if utf8::is_utf8($data);此时,从utf8编码的STDIN中,我在$data中得到了一个正确的AFAIK $data 不包含utf8,而是包含perl's internal Unicode格式的字符串。我知道use utf8;只是为了告诉Perl我的源代码是用utf8编写的
在装有Perl5.22和PostgreSQL9.4的Mac (10.11.2)上,我遇到了目录名称中包含UTF8字符的问题。Postgresql中的文本编码被设置为UTF8。如果我有一个包含非ascii UTF8字符的目录名,如果该目录名被Perl脚本读入或插入到Perl脚本中的字符串中,我就可以chdir()访问该目录。但是,屏幕上打印的字符串是相同的,两个字符串上的Perl c