PHP Conference Japan 2024

imap_utf8

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf8將 MIME 編碼的文字轉換為 UTF-8

說明

imap_utf8(字串 $mime_encoded_text): 字串

如果 libc-client 知道宣告的字元集,則將指定的 mime_encoded_text 轉換為 UTF-8。否則,將解碼指定的文字,但不會轉換為 UTF-8。

參數

mime_encoded_text

MIME 編碼的字串。MIME 編碼方法和 UTF-8 規範分別在 » RFC2047» RFC2044 中描述。

傳回值

如果可能,傳回已解碼的字串,已轉換為 UTF-8。

範例

範例 #1 基本 imap_utf8() 用法

<?php
echo imap_utf8("Johannes =?ISO-8859-1?Q?Schl=FCter?=");
?>

以上範例會輸出類似以下的內容

Johannes Schlüter

另請參閱

新增註解

使用者貢獻的註解 3 則註解

esvit at mail dot ru
13 年前
這樣就解決了全大寫的問題

<?php
function imap_utf8_fix($string) {
return
iconv_mime_decode($string,0,"UTF-8");
}
?>
kloewer at gmail dot com
13 年前
使用 iconv_mime_decode();

<?php
// 這樣會產生 "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
0, "ISO-8859-1");
?>

https://php.dev.org.tw/manual/de/function.iconv-mime-decode.php
marcelo at maccoy dot com dot br
19 年前
# 這個腳本在正確的符號移除表達式下是正確的
# 請忽略後面的內容。
function decode_utf8($str){
# 模式
$err="(=\?.{10,13}q\?_?|\?\=)";
$pat = "/=([0-9A-F]{2})/";
$cha="'.chr(hexdec(";
# 清除字串中的空符號
$str=eregi_replace($err,"",$str);
# 使用 eval 解碼並取代
eval("\$str='".
preg_replace($pat,$cha."'$1')).'",$str)
."';");
# 返回
return $str;
}
#注意:您可以將此腳本縮減為 3 行。
To Top