Perl Unicode 美食大全:解码标准文件句柄为 UTF-8
℞ 15: 声明 STD{IN,OUT,ERR}
为 UTF-8
始终在程序边缘进行所需的编码转换。这包括标准文件句柄 STDIN
、STDOUT
和 STDERR
。
如 perlrun 文档所述,环境变量 PERL_UNICODE
或命令行标志 -C
允许您告诉 Perl 以 UTF-8 编码和解码这些文件句柄,使用 S
选项
$ perl -CS ...
# or
$ export PERL_UNICODE=S
在您的程序中,open 预言允许您一次性设置这些文件句柄的默认编码
use open qw(:std :utf8);
由于 Perl 使用 I/O 层来实现编码和解码,您也可以在文件句柄上直接使用 binmode 操作符
binmode(STDIN, ":encoding(UTF-8)");
binmode(STDOUT, ":encoding(UTF-8)");
binmode(STDERR, ":encoding(UTF-8)");
系列索引:标准序言
标签
反馈
这篇文章有什么问题吗?请在 GitHub 上打开一个问题或拉取请求以帮助我们