如何从Perl输出UTF-8?

我试图使用“utf8”pragma编写一个Perl脚本,我得到意想不到的结果。我使用Mac OS X 10.5(Leopard),我正在使用TextMate编辑。我的编辑器和操作系统的所有设置默认为以utf-8格式编写文件。

然而,当我在文本文件中输入以下内容时,将其保存为“.pl”,并执行它,我得到友好的“带问号的菱形”代替非ASCII字符。

#!/usr/bin/env perl -w

use strict;
use utf8;

my $str = 'Çirçös';
print( "$str\n" );

任何想法我做错了什么?我期望在输出中得到“Çirçös”,但我得到“ ir s”。

使用utf8;不启用Unicode输出 – 它使您能够在程序中键入Unicode。将此添加到程序中,在print()语句之前:

binmode(STDOUT, ":utf8");

看看这是否有帮助。这应该使STDOUT输出在UTF-8而不是普通的ASCII。

http://stackoverflow.com/questions/627661/how-can-i-output-utf-8-from-perl

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何从Perl输出UTF-8?