0

私はGoogleアカウントにアクセスでき、すべてのメールを表示するこのPHPページを実行しています。ヘッダー=UTF-8とメタも定義しました。出力をUTFに変換するために多くのPHP関数を使用しましたが、ASCII特殊文字の代わりに奇妙なアイコンが表示され続けます。、、など。ç_éã

    header("Content-Type: text/html; charset: UTF-8");
    $message = imap_fetchbody($inbox,$email_number,2);
    echo $message;

出力はどうあるべきか:

çççç

私が得るもの:

=E7=E7=E7=E7
4

2 に答える 2

1

使用しますimap_qprint(代替ソリューションについては、そのページの最初のコメントを参照してください)。

于 2012-04-11T09:50:32.833 に答える
0

imap_fetchbody PHPドキュメントページの最初のコメントに関しては、既知の問題のようです。

imap_qprintを使用するか、コメンターソリューションを使用してください:

<?php
function ReplaceImap($txt) {
  $carimap = array("=C3=A9", "=C3=A8", "=C3=AA", "=C3=AB", "=C3=A7", "=C3=A0", "=20", "=C3=80", "=C3=89");
  $carhtml = array("é", "è", "ê", "ë", "ç", "à", "&nbsp;", "À", "É");
  $txt = str_replace($carimap, $carhtml, $txt);

  return $txt;
}

$mbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX", "login", "pass");
$no = 5; // Mail to show (mail number)

$text = imap_fetchbody($mbox, $no, 1);
$text = imap_utf8($text);
$text = ReplaceImap($text);
$text = nl2br($text);

echo $text;
?>
于 2012-04-11T09:54:03.853 に答える