1
我在使用PHP解碼郵件正文時遇到了問題。 我有2個UTF-8電子郵件,其結構是相同的。 對於其中一個我可以用iconv(「UTF-8」,「Windows-1252」,$ data)解碼身體 對於另一個,這不起作用。 1)我不知道用什麼來代替這個 2)我怎樣才能確定區分這兩種類型的電子郵件動態?PHP IMAP解碼UTF-8郵件正文
stdClass Object
(
[type] => 1
[encoding] => 0
[ifsubtype] => 1
[subtype] => MIXED
[ifdescription] => 0
[ifid] => 0
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => BOUNDARY
[value] => ----=_Part_8432_30170987.1457360103746
)
)
[parts] => Array
(
[0] => stdClass Object
(
[type] => 0
[encoding] => 4
[ifsubtype] => 1
[subtype] => PLAIN
[ifdescription] => 0
[ifid] => 0
[lines] => 50
[bytes] => 1811
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => CHARSET
[value] => UTF-8
)
)
)
)
)
stdClass Object
(
[type] => 1
[encoding] => 0
[ifsubtype] => 1
[subtype] => MIXED
[ifdescription] => 0
[ifid] => 0
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => BOUNDARY
[value] => ----=_Part_1135_19111967.1451925068339
)
)
[parts] => Array
(
[0] => stdClass Object
(
[type] => 0
[encoding] => 4
[ifsubtype] => 1
[subtype] => PLAIN
[ifdescription] => 0
[ifid] => 0
[lines] => 27
[bytes] => 490
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => CHARSET
[value] => UTF-8
)
)
)
)
)
當我使用imap_mime_header_decode兩個數據對象,我得到這樣的:
Array
(
[0] => stdClass Object
(
[charset] => default
[text] =>
...
)
由於提前, Stiti
您是否嘗試從郵件頭獲取字符集並將其轉換爲UTF8(而不是假定Windows-1252)? –
你好,電子郵件字符集已經是UTF-8,但我想轉換它或至少打印正確的口音。 – user2269756