PHP解码GB2312

发布于 2024-10-09 19:55:15 字数 226 浏览 6 评论 0原文

我正在编写一个 IMAP 电子邮件脚本,并且有一些代码行是用 GB2312 编码的(我假设是中文编码),看起来像这样 =?GB2312?B?foobarbazetc

我怎样才能开始使用这个字符串?我检查了 mb_list_encodings() ,但没有列出这个。

I'm working on an IMAP email script and I have some lines coded in GB2312 (which I assume is Chinese encoding), looks like this =?GB2312?B?foobarbazetc

How can I start working with this string? I checked mb_list_encodings() and this one is not listed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

攀登最高峰 2024-10-16 19:55:15

如果您有 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==?=");
?>

If you have the base64-decoded data, then use mbstring or iconv. If you have the raw header, then 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==?=");
?>
层林尽染 2024-10-16 19:55:15

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

Ignacio solved the meat of the problem with mb_decode_mimeheader() but for future reference these links are also helpful:

The specific header string I was working with:

$subject = "=?GB2312?B?tPC4tDogUXVvdGF0aW9uIFBJSSBwcm9kdWN0cyA=?= =?GB2312?B?Rk9CIFNoYW5naGFpIG9yIE5pbmdibyBwb3J0?="

This required a page header of

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

and PHP

mb_internal_encoding('utf-8');
echo mb_decode_mimeheader($subject)."<br />";

to output

主题: Quotation PII products FOB Shanghai or Ningbo port
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文