在Windows中使用vCard进行UTF8编码

hph*_*sma 8 encoding vcf-vcard utf-8

我在网站上实现了一个vCard.问题是虽然在Windows上没有正确解析特殊字符.

我可以让它在Mac上正常工作,但是一旦我在Windows(Windows Contacts)中打开一个vcf,它就会搞砸了.当我在记事本中打开vcf时,它会正常显示字符.

我尝试了所有可以找到的vcf版本(2.1,3.0,4.0).我在内容类型标题中使用了charset-utf-8(text/x-vcard; charset:utf-8).我使用了N; CHARSET = utf-8 :(和其他标签一样).

一切都无济于事.

有人有解决方案吗?感谢您分享您的见解.

使用的标题:

header("Content-type: text/x-vcard; charset=utf-8");
header("Content-Disposition: attachment; filename=".$this->filename.".vcf");
header("Pragma: public");
Run Code Online (Sandbox Code Playgroud)

use*_*667 7

要使Outlook导入UTF-8 vCards,您必须打开Outlook选项,转到高级 > 国际选项,然后选择UTF-8外发电子邮件和外发vCard ...并且瞧 - 导入工作!

是不是很明显,必须设置导出选项来设置导入......?谢谢微软:P


小智 6

我发现,而不是;CHARSET=utf-8在vCard字段中提供;CHARSET=windows-1252,而是提供,这导致在Outlook 2010中正确打开vcard.

不是每个人的解决方案,但希望这有助于某人.

  • 在我的情况下,内容使用utf-8编码,最后强制执行utf-8标头.现在我检查Windows操作系统 - >然后iso内容编码,否则utf-8编码.效果很好. (2认同)

and*_*abs 6

对于我来说,使用 UTF-8 并在 Mac OS X 上可读所有波兰字符就\xc4\x98\xc4\x84\xc4\x86\xc5\xbb\xc5\xb9\xc5\x83\xc5\x81\xc3\x93\xc5\x9a \xc4\x99\xc4\x85\xc4\x87\xc5\xbc\xc5\xba\xc5\x84\xc5\x82\xc3\xb3\xc5\x9b足以切换到声明VERSION:3.0

\n


hph*_*sma 1

比较了 2 个文件,其中一个来自不同的服务,而我的。看来使用了其他服务的工作版本Content-Type: text/x-vcard; charset=iso-8859-1