1

ブラウザで PHP スクリプトからこれを実行すると、次のようになります。

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

私はこれを得る:

X-My-Custom-Header: Eugen BabicÌ

ただし、PHP インタラクティブ シェルを使用すると、次のように正しく返されます。

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

ここでいくつかのデコード関数を使用してインターネット上にスクリプトをセットアップしました: http://cameronsflash.com/misc/test.phpは、どれも文字列を正しくデコードしていないことがわかります (ただし、対話型シェルでは実行されます)。

ブラウザで異なるのはなぜですか?どうすれば修正できますか?

編集: 何らかの理由で、c のアクセントは 2 番目の例では表示されていませんが、コンソールには表示されています。

4

1 に答える 1

0

あなたが間違っていることは次のとおりです。HTML(PHPによって生成されたもの)はUTF-8でエンコードされていません。

これをあなたの<head>

鬼ごっこ:

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
于 2013-06-20T05:41:17.740 に答える