我正在尝试使用 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”。
最佳答案
use utf8;
不启用 Unicode 输出 - 它允许您在程序中键入 Unicode。将其添加到程序中的 print()
语句之前:
binmode(STDOUT, ":utf8");
看看是否有帮助。这应该使 STDOUT
输出为 UTF-8,而不是普通的 ASCII。
关于perl - 如何从 Perl 输出 UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627661/