gpt4 book ai didi

php - PHP 在 Outlook 中生成的 vCard 的字符编码问题

转载 作者:可可西里 更新时间:2023-10-31 22:44:53 25 4
gpt4 key购买 nike

我们在尝试用 PHP 创建 vcards 时遇到了字符编码问题。

在 Outlook 中,使用特殊字符的名称会被扭曲,例如“é”变成“É”。

我们针对 Windows 字符编码更新了 header 以及 FN 和 N 部分,但问题仍然存在。

感谢任何建议。

名片摘录:

BEGIN:VCARD
VERSION:3.0
REV:2013-03-27 19:37:46
FN;CHARSET=Windows-1252:Namé S. Nameé
N;CHARSET=Windows-1252:Namé;Namé;;;
TITLE:Associate
ORG:Company
EMAIL;TYPE=internet,pref:name@abc.com
TZ:-0400
END:VCARD

Vcard 的 PHP header :

    header("Content-type: text/x-vcard; charset=windows-1252;");
header("Content-Length: ".strlen($vc->card));
header("Content-Disposition: attachment; filename=".$vcard_name.".vcf");
header("Pragma: public");

最佳答案

您的解决方案对我不起作用,我在 Windows 上仍然看到有趣的字符。

对我有用的是改用 ISO-8859-1。您可以使用 utf8-decode() 在 PHP 中将 UTF8 转换为 ISO-8859-1 ,并通过在相关字段的 Vcard 中使用 ENCODING=iso-8859-1 使其适用于我测试过的大多数基于 UTF-8 的客户端。

标题:

Content-Type: text/x-vcard; charset=iso-8859-1

电子名片示例:

N;CHARSET=iso-8859-1:Göteborg

在 Windows、OS X、IOS 和 Android 上测试。

关于php - PHP 在 Outlook 中生成的 vCard 的字符编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15671684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com