作者jackert (默默人)
看板PHP
标题[请益] 收信内文乱码请教
时间Wed Mar 20 10:11:21 2013
第一次版上po文
请大家多多指教
以下是全部程式码 (下方有关於内文程式码部分的解说)
<?php
/* connect to gmail */
$hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$username = 'username';
$password = 'userpass';
/* try to connect */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to
Gmail: ' . imap_last_error());
/* grab emails */
$emails = imap_search($inbox,'ALL');
/* if emails are returned, cycle through each... */
if($emails) {
/* begin output var */
$output = '';
/* put the newest emails on top */
rsort($emails);
/* for every email... */
foreach($emails as $email_number) {
/* get information specific to this email */
$overview = imap_fetch_overview($inbox,$email_number,0);
$text = utf8_encode(imap_utf8(quoted_printable_decode(imap_fetchbody(
$inbox,$email_number,2))));
/* output the email header information */
$output.= '<div class="toggler '.imap_utf8($overview[0]->seen ? 'read' :
'unread').'">';
$output.= '<span
class="subject">'.imap_utf8($overview[0]->subject).'</span> ';
$output.= '<span class="from">'.imap_utf8($overview[0]->from).'</span>';
$output.= '<span class="date">on '.imap_utf8($overview[0]->date).'</span>';
$output.= '</div>';
/* output the email body */
$output.= '<div class="body" >'.$text.'</div>';
}
echo $output;
}
/* close the connection */
imap_close($inbox);
?>
小弟使用imap_utf8对标题作转换正常
但是对内文
$text = utf8_encode(imap_utf8(quoted_printable_decode(imap_fetchbody(
$inbox,$email_number,2))));
仍持续出现乱码
题外话...
原本一直imap_open不到
结果睡了个觉发现没开imapXD
然後开始测试
结果全部乱码
然後又跑去睡了个觉
突然灵光乍现跑去看php函式库
又解决了XD
可是这一次还是想不通...
想请教一下大大们的意见
非常感激
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.212.157
※ 编辑: jackert 来自: 118.169.212.157 (03/20 10:12)
1F:→ airtsubasa:档案编码、来源字串编码 03/20 10:14