私はIMAP電子メールスクリプトに取り組んでおり、GB2312でコード化された行がいくつかあります(これは中国のエンコードであると思います)、次のようになります=?GB2312?B?foobarbazetc
この文字列の操作を開始するにはどうすればよいですか?チェックmb_list_encodings()
しましたが、これはリストされていません。
私はIMAP電子メールスクリプトに取り組んでおり、GB2312でコード化された行がいくつかあります(これは中国のエンコードであると思います)、次のようになります=?GB2312?B?foobarbazetc
この文字列の操作を開始するにはどうすればよいですか?チェックmb_list_encodings()
しましたが、これはリストされていません。
base64でデコードされたデータがある場合は、mbstringまたはiconvを使用します。生のヘッダーがある場合は、mbstring。
<?php
$t = "\xc4\xe3\xba\xc3\n";
echo iconv('GB2312', 'UTF-8', $t);
echo mb_convert_encoding($t, 'UTF-8', 'GB2312');
mb_internal_encoding('UTF-8');
echo mb_decode_mimeheader("=?gb2312?b?xOO6ww==?=");
?>
Ignacioは問題の本質を解決しましmb_decode_mimeheader()
たが、将来の参考のために、これらのリンクも役立ちます。
私が扱っていた特定のヘッダー文字列:
$subject = "=?GB2312?B?tPC4tDogUXVvdGF0aW9uIFBJSSBwcm9kdWN0cyA=?= =?GB2312?B?Rk9CIFNoYW5naGFpIG9yIE5pbmdibyBwb3J0?="
これには、のページヘッダーが必要でした
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
およびPHP
mb_internal_encoding('utf-8');
echo mb_decode_mimeheader($subject)."<br />";
出力する
主题: Quotation PII products FOB Shanghai or Ningbo port