Perl utf8解码和编码

时间:2013-11-12 23:29:38

标签: perl decode encode

我在这里遇到一种情况,试图通过Perl(西里尔文)发送Mail :: Sendmail发送电子邮件。

use Mail::Sendmail;
use Encode;
use utf8;

my $subject= "cyrillic message";
....

问题是我在邮件中收到了无法识别的符号。

我已经尝试过使用utf8,不使用utf8,我已经尝试过解码和编码,decode_utf8等等(已经阅读了很多,包括Perlmonks讨论),但我仍然收到2种类型的无法识别的符号邮件主题或“子程序条目中的宽字符”。

添加了:

#!/usr/bin/perl

use Mail::Sendmail;
use Encode;
use utf8;
use warnings;

my $subject= "cyrillic subject";
my $message= "cyrillic message";


my %mail = (
        To      => 'recipient@example.com',
        Subject => "$subject",
        From    => 'from@example.com',
        Message => "$message",
       );

sendmail(%mail) or die $Mail::Sendmail::error;

print "OK. Log says:\n", $Mail::Sendmail::log;

1 个答案:

答案 0 :(得分:0)

问题解决了,没有使用utf8而且没有使用Encode。

我添加了'Content-type'=> “text / html的; charset =“utf-8”'标题,一切都变好了!