这修复了所有大写字母问题
<?php
function imap_utf8_fix($string) {
return iconv_mime_decode($string,0,"UTF-8");
}
?>
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_utf8 — 将 MIME 编码的文本转换为 UTF-8
如果声明的字符集为 libc-client 所知,则将给定的 mime_encoded_text
转换为 UTF-8。否则,将对给定的文本进行解码,但不会转换为 UTF-8。
如果可能,返回解码后的字符串,并转换为 UTF-8。
示例 #1 基本 imap_utf8() 用法
<?php
echo imap_utf8("Johannes =?ISO-8859-1?Q?Schl=FCter?=");
?>
以上示例将输出类似于以下内容
Johannes Schlüter
这修复了所有大写字母问题
<?php
function imap_utf8_fix($string) {
return iconv_mime_decode($string,0,"UTF-8");
}
?>
使用 iconv_mime_decode();
<?php
// 这将产生 "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
0, "ISO-8859-1");
?>
https://php.net/manual/de/function.iconv-mime-decode.php
# 此脚本使用正确的符号删除表达式是正确的
# 请忽略后面的内容。
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 行。