收取qq发送来的邮件中文为乱码,在 编码 手动选择GB2312没问题。截取部分邮件原结构发现qq的编码为gb18030,extmail会自动判别编码格式来显示。
$VAR1 = {
‘body’ => {
‘list’ => [
{
'pos_end' => '1596',
'pos_start' => 1490,
'phead' => {
'Content-Type' => 'text/plain',
'charset' => 'gb18030',
'Content-Transfer-Encoding' => 'base64'
},
'idflag' => 'alternative-0',
'size' => '106'
},
{
'pos_end' => '1757',
'pos_start' => 1640,
'phead' => {
'Content-Type' => 'text/html',
'charset' => 'gb18030',
'Content-Transfer-Encoding' => 'base64'
EMOS官网解释:
关于GB18030由thunderbird或某些客户端软件发出的中文邮件编码是GB18030,部分内容甚至全部乱码。经过仔细检查发现是Perl 目前版本(5.8.8或以下)缺少了GB18030码表,因此增加了Encode::HanExtra码表模块的支持,解决了此问题。
解决方法如下:
wget –c http://search.cpan.org/CPAN/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz
tar zxvf Encode-HanExtra-0.23.tar.gz
cd Encode-HanExtra-0.23
perl Makefile.PL
make install
ok
直至完成,刷新页面即可。
另一种方法就是在用QQ邮箱写信时,设置编码为Unicode
勾选始终使用Unicode编码发信。后面也给出了解释。
PS:
EMOS1.5中perl版本就是5.8.8,在新版本的emos1.6中版本为5.10.1。
[转]EMOS收取QQ邮箱发来的邮件中文显示乱码
猜你喜欢
转载自talentvictor.iteye.com/blog/2042139
今日推荐
周排行