2024 日本 PHP 研討會

mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_decode_mimeheader解碼 MIME 標頭欄位中的字串

說明

mb_decode_mimeheader(字串 $string): 字串

解碼 MIME 標頭中編碼的 字串 string

參數

string

要解碼的 字串

返回值

已解碼的內部字元編碼 字串

更新日誌

版本 說明
8.3.0 底線會根據 » RFC 2047 的規範轉換為空格。

另請參閱

新增註釋

使用者貢獻的註釋 4 則註釋

tomlove at gmail dot com
14 年前
此函式會忽略以 mbstring 擴充套件不支援的字元集(例如阿拉伯語 windows-1256)指定的任何編碼字詞。此類編碼字詞會直接通過。

RFC2047 並未指定行為,但常見的代理程式,例如 Gmail、Windows Mail 等,不會忽略此類編碼字詞。它們會被解碼,如同它們被宣告為使用本地字元集一樣。

請注意這種特性。
Brett
12 年前
另請參閱以下函式,在某些情況下可能效果更好
iconv_mime_decode() - https://php.dev.org.tw/manual/function.iconv-mime-decode.php
imap_utf8() - https://php.dev.org.tw/manual/function.imap-utf8.php
hgs at cs dot columbia dot edu
3 年前
在 Q 編碼模式中,RFC 2047 將空格編碼為 _(第 4.2 節)。

mb_decode_mimeheader()

似乎沒有這樣做。因此,為了避免名稱或主旨中出現底線,需要對輸入字串應用 strtr() 或類似的函式。

另一方面,小寫字串現在可以正常運作。
Frogger2000 at gmx dot de
22 年前
使用 quoted-printable 編碼時,十六進位數字必須以大寫字母書寫!

有效: =?iso-8859-1?q?=3F=3F=3F?=
無效: =?iso-8859-1?q?=3f=3f=3f?=
To Top