1

mimeDecodeを使用したkoi8r文字セットに問題があります。

例として:

件名:=?KOI8-R?B?8NLJ18XUIQ ==?=差出人:=?KOI8-R?B?4czFy9PBzsTSIPfPzMvP1w ==?=

になる:

件名:п÷я─п╦п╡п╣я┌!差出人:АлександрВолков

次のようになります、

件名:Привет!差出人:АлександрВолков

したがって、正確な問題は

        if (is_string($this->_decode_headers)) {
            $conv = @iconv($charset, $this->_decode_headers, $text);
            $text = ($conv === false) ? $text : $conv;
        }

ありがとうございました。

更新 解決しました。問題は、電子メールヘッダーが他の文字セットのdbに保存されていたことです。

4

1 に答える 1

5

使いたくないですmb_decode_mimeheaderか?

iconvエンコードされた文字列を変換します。ここでは、文字列はASCIIのみです。

mb_internal_encoding("UTF-8");
$string = "=?KOI8-R?B?8NLJ18XUIQ==?=";
$conv = mb_decode_mimeheader($string);

もちろん、utf-8でエンコードされた文字列を送信する場合、これは機能します。そうでない場合は、最初のコマンドを調整する必要があります。

于 2012-03-24T22:13:46.300 に答える