2012-05-07 18 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 –