我使用Vobject模块。
我想读取一个VCF文件,其中包含UTF8字符集中带有德语umlauts的名称:
BEGIN:VCARD
VERSION:2.1
FN:Some Name
N:Name;Some;;;
ADR;WORK;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;;=49=6D=20=4D=C3=BC=68=6C=65=6E=62=72=75=63=68=20=32=33;=4B=C3=B6=6E=69=67=73=77=69=6E=74=65=72;=4E=52=57;=35=35=35=35=35;
END:VCARD 守则:
fp = open("vcf/%s.vcf" %(name), "r")
content = fp.read()
fp.close()
v = vobject.readOne(content)
v.prettyPrint() 例如:
K nig被理解为K?nig。
Mühle被理解为M?hle。
我脑子里唯一的解决办法,
但一定有更优雅的方法吗?有人能给我指一下那个方向吗?
致以敬意,
Ck
发布于 2013-09-14 08:26:11
我找到了解决办法。问题是,Python需要将Stringstreams解释为UTF-8。
内建功能
unicode("ÄÖÜ", "utf-8")这些铜币按预期打印出来。
https://stackoverflow.com/questions/18718712
复制相似问题