perl - 如何从Perl将文件另存为UTF-8?

标签 perl utf-8

我正在尝试在UTF-8中的Perl中创建/保存HTML文件,但是到目前为止我什么都没做。 previous answer here on SO表示要使用binmode,所以我尝试了。这是我的代码:

open (OUT, ">$sectionfilename");
binmode(OUT, ":utf8");
print OUT $section;
close OUT;


当我在类似记事本的文本编辑器中打开这些文件时,它们仍为ANSI编码。我究竟做错了什么?

最佳答案

文本编辑器是检查低级内容(例如编码)的不良工具。请改用hexviewer / hexdumper。编写示例的现代方法:

use autodie qw(:all);
open my $out, '>:encoding(UTF-8)', $sectionfilename;
print {$out} $section;
close $out;


autodie启用自动错误检查。

关于perl - 如何从Perl将文件另存为UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2339750/

相关文章:

java - 仅当 Java 中的字符串值不是 UTF-8 时才对其进行编码

java - 如何在java中用土耳其字符读取UTF 8编码文件

php - 使用 PHP 和 MySQL,如何正确地将智能引号写入数据库?

Linux/珀尔 : Additional output buffers other than STDOUT and STDERR?

perl - 尽管套接字是非阻塞的,但 Perl 上的 recv 阻塞

perl - DBM 文件可由生成该文件的计算机上的 Perl 脚本读取,但在其他计算机上为 "Inappropriate file type or format"

php - 将中文字符从 ISO-8859-1 转换为 UTF-8

perl - 使用 DBIx::Class,如何检查表是否存在?

perl - 我应该在 Perl 中使用带有 opendir 的词法目录句柄吗?

c++ - utf-8 与 utf-16 之间的问题