Imap_utf在浏览器中做一些奇怪的事情,而不是PHP shell


imap_utf does weird things in browser but not php shell

如果我在浏览器中从PHP脚本运行:

echo imap_utf8('X-My-Custom-Header: =?UTF-8?B?RXVnZW4gQmFiacSH?=');

我得到这个:

X-My-Custom-Header: Eugen BabicÌ

但是如果我通过PHP交互式shell执行,它会正确返回:

php > echo imap_utf8('X-My-Custom-Header: =?UTF-8?B?RXVnZW4gQmFiacSH?=');
X-My-Custom-Header: Eugen Babić

我有一个脚本设置在互联网上使用几个解码函数:http://cameronsflash.com/misc/test.php因为你可以看到他们都没有正确解码字符串(但在交互式shell他们做)。

为什么它在浏览器中不同,我如何修复它?

Edit:由于某些原因,第二个示例中没有显示c上的重音,但它在控制台中存在。

你做错了:你的HTML(由PHP生成)不是UTF-8编码。

添加到您的<head>

标记:

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>