2012-05-07 17 views
0

有谁知道如何正确解码下面的字符串在PHP中?如何解码PHP中的以下字符串?

=?iso-8859-1?Q?OLG=20Slots=20at=20Windsor=20=26=20Caesars=20Windsor=20w?= 

我尝试使用

quoted_printable_decode() 

,但没有产生预期的结果。

从电子邮件标题中检索此字符串。这上面的字符串是“主题”。看起来,电子邮件客户端(基于Web和应用程序)都能够正确解码字符串。

谢谢你的时间!

+0

不看起来编码,你是如何得到这个字符串? – skafandri

+0

它应该解码为什么?它看起来像一个查询字符串,但如果是,那么'= 20'通常会是'%20' - 我认为在这里应该发生的更多的澄清! – halfer

+1

显示***你已经尝试了***。因为那个函数***对你的输入字符串有效。 – mario

回答

0

它不url_encoded,而是试试这个:

$subject = '=?iso-8859-1?Q?OLG=20Slots=20at=20Windsor=20=26=20Caesars=20Windsor=20w?='; 

echo utf8_decode(imap_utf8($subject)); 

Manual

+0

非常好!这工作!一旦SO允许,我会接受答案。 – thiesdiggity

0

第一位表明它在ISO-8859-1,这一点,如果我正确地阅读维基百科,标准的ASCII编码。

这意味着,你可能并不需要解码字符串,你只需要了解它;-)

你在哪里找到它?你认为这可能是什么意思? (例如它是否提交了表单数据,某种RPC编码,还有其他的东西?)

谢谢!刚刚看过你的编辑。你有没有试过b64解码它?猜测它是base64 encoded ASCII。尝试base64_decode()

+0

它不是base64编码的,它是Q编码的。 http://en.wikipedia.org/wiki/MIME#Difference_between_Q-encoding_and_quoted-printable –