我正在尝试使用“ utf8”编译指示来编写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'。
1
也许不是程序..我认为它是您的外壳还是您的编辑器,它可以完成输出
—
n00ki3,2009年
所有答案都正确回答了您的问题,如何将其显式设置为UTF8。我认为您应该调整终端的语言环境设置,如stackoverflow.com/a/14405949/498634所示。终端可能未设置为UTF8,然后以UTF8格式写入STDOUT的数据将被错误编码!
—
DanielBöhmer19年
很好的答案如何一起工作
—
Eugen Konkov
utf8
: