Perl utf8解码和编码

Perl utf8解码和编码,perl,decode,encode,Perl,Decode,Encode,我在这里遇到了一种情况,试图使用Mail::Sendmail from Perl(西里尔文)发送和发送电子邮件 问题是我在邮件中收到无法识别的符号 我已经试过使用utf8,而不是utf8,我试过解码和编码,解码utf8等等(读了很多书,包括Perlmonks的讨论),但我仍然收到邮件主题中的两种无法识别的符号或“子例程条目中的宽字符” 增加: #!/usr/bin/perl use Mail::Sendmail; use Encode; use utf8; use warnings; my

我在这里遇到了一种情况,试图使用Mail::Sendmail from Perl(西里尔文)发送和发送电子邮件

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

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

增加:

#!/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;

问题在不使用utf8和不使用编码的情况下解决


我添加了'contenttype'=>'text/html;charset=“utf-8”标题,一切都会好起来

您是否可以发布错误日志和电子邮件中出现的文本以及任何警告
use warning通过命令行运行时提供。请提供实际演示问题的代码!对于
使用utf8:如果源文件使用UTF-8编码,请使用
使用utf8。如果源文件使用US-ASCII编码,则不要使用
使用utf8。如果我使用utf8,我将在/usr/local/share/perl5/Mail/Sendmail.pm第237行收到“子例程条目中的宽字符”。如果不使用utf8,则消息将被发送,我得到了这个“字符”。我也试着用encode对它进行编码。
#!/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;