[转]EMOS收取QQ邮箱发来的邮件中文显示乱码

本文介绍了解决通过QQ邮箱发送的邮件出现中文乱码的问题。主要原因是邮件编码为GB18030,而默认系统不支持该编码。提供两种解决方法:一是安装Perl模块Encode::HanExtra;二是发送邮件时选择Unicode编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

收取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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值