【求助】 Email::MIME模块:body的utf8转换
时间:2010-09-28
来源:互联网
现在需要处理一些邮件,要求抽取邮件正文,Email::MIME模块很容易可以解决,但是当遇到-------------------------分割线-----------------
this is a multi-part message in MIME format.
------=_NextPart_000_028E_0195D079.1E0E6B40
Content-Type: text/plain;
charset="utf-8"
--------------------分割线------------------------
charset是utf8的时候,转换过来是乱码(gbk就显示正常),我手工转换ok(代码如下):
复制代码
但是不同的邮件的charset可能不同所以··decode( 'utf8',$decoded)的硬编码就不行了,所以,求如何能解决的方法,例如如何知道源body的charset是什么,模块没有提供类似的方法。谢谢!!
this is a multi-part message in MIME format.
------=_NextPart_000_028E_0195D079.1E0E6B40
Content-Type: text/plain;
charset="utf-8"
--------------------分割线------------------------
charset是utf8的时候,转换过来是乱码(gbk就显示正常),我手工转换ok(代码如下):
- my $parsed = Email::MIME->new(\join '',@text);
-
- my @parts = $parsed->parts; # These will be Email::MIME objects, too.
- for my $part (@parts)
- {
- my $decoded = $part->body;
- say to_gbk( decode( 'utf8',$decoded) ); #转换
- say '*' x 80;
- }
但是不同的邮件的charset可能不同所以··decode( 'utf8',$decoded)的硬编码就不行了,所以,求如何能解决的方法,例如如何知道源body的charset是什么,模块没有提供类似的方法。谢谢!!
作者: wfnh 发布时间: 2010-09-28
顶起·
作者: wfnh 发布时间: 2010-09-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28