我遇到了imap解码的严重问题。我收到了一封可能在windows-874中编码的电子邮件。这导致整个信件被阅读。我尝试使用iconv('tis-620','utf-8',$txt)
,但我没有运气。
我试图在任何地方搜索可能有答案,但这似乎是宇宙的第一个问题。 (或者我没有搜索到正确的单词?)
主题是:
Charset:ASCII
=?窗口-874 Q + = CB = E9 = CD = A7 = BE = D1 = A1 = C3 = D2 = A4 = D2 = BE = D4 = E0 = C8 = C9 = CA = D3 = CB = C3 = D1 = BA = A7 = D2 = B9 = E4 = B7 = C2 = E 0 = B7 = D5 = E8 = C2 = C7 = E4 = B7 = C2 = A4 = C3 = D1 = E9 = A7 = B7 = D5 = E8 三十 = E2 = C3 = A7 = E1 = C3 = C1 = CA = C7 = D1 = CA = B4 = D5 = CA = D8 = A2 = D8 = C1 = C7 = D4 = B7 = AB = CD = C2 8?= < / p>
所以,请告诉我编码是什么,如果它不是tis-62。如何将其解码为人类语言?
答案 0 :(得分:0)
最后我找到回家的路。首先,我创建了一个函数来检测给定文本中的任何编码。
function win874($str){
$win874=strpos($str,"windows-874");
return $win874;
}
function utf8($str){
$utf8=strpos($str,"UTF-8");
return $utf8;
}
然后我转换为php函数:
if(win874($headers->subject)=="0" and utf8($headers->subject)=="0"){
echo $headers->subject;
}
if(win874($headers->subject)>="1"){
$subj0=explode("?",$headers->subject);
echo $subj0[3];
}
if(utf8($headers->subject)>="1"){
echo imap_utf8($headers->subject);
}
因为带有windows-874的文本总是以“=?windows-874?Q?”开头,所以我使用像“explode()”这样的简单函数从垃圾中提取主要想法。正如我所说,主要想法总是在第三个问号之后。然后我有了这个主题。
但问题仍然存在。我仍然需要将浏览器编码更改为Thai以使文本可读。 (设置&gt;工具&gt;编码&gt;泰语:在chrome中)。有什么建议吗?