强制在Perl文件输出中使用UTF-8字节顺序标记

时间:2011-09-14 15:27:24

标签: perl utf-8

我正在使用Perl写出一个CSV文件。进入CSV的数据包含Unicode字符。我正在使用以下内容写出CSV:

#OPEN THE FILE FOR WRITE
open(my $fh, ">:utf8", "rpt-".$datestring.".csv")
or die "cannot open < rpt.csv: $!";

即在文件中正确写入字符,但似乎不包括UTF8字节顺序标记。这反过来又会导致我的用户试图在Excel中打开文件。有没有办法强制写入字节顺序标记?

我尝试了以下方式:

print $fh "\x{EFBBBF};

我最后在文件的顶部乱码。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:13)

尝试这样做:

print $fh chr(65279);
打开文件后