大家好我正在检索电子邮件,我的一些电子邮件有utf编码文本。然而,即使我的页面编码为utf 8 - 在某些地方,当我尝试输出utf文本时,我会得到有趣的字符,如:
=?utf-8?B?Rlc6INqp24zYpyDYotm+INin2LMg2YXYs9qp2LHYp9uB2bkg2qnbjCDZhtmC?=
=?utf-8?B?2YQg2qnYsdiz2qnYqtuSINuB24zaug==?=
而在同一页面的其他区域,它显示正常。是怎么回事?
答案 0 :(得分:6)
这不是“有趣的人物”,那些是合法的ASCII字符。只是字符串是MIME编码的传输,所以你需要通过mb_decode_mimeheader
。
答案 1 :(得分:1)
您可能会看到未解码的电子邮件标头:=?是起始分隔符,utf-8表示文本为utf-8,B表示base-64编码。 ?=是结束分隔符。所以,base64_decode()是问号之间的部分,你会得到内容。