因为一个心形符号“❤”导致保存失败怎么办

2017-02-23 19:54:14 +08:00
 zhihaofans

代码

fo = open(_filepath, "w")
print ("文件名: ", fo.name)
fo.write(txtData)
fo.close()

fo.write(txtData)报错

UnicodeEncodeError: 'gbk' codec can't encode character '\u2764' in position 9870: illegal multibyte sequence

'\u2764'我转了编码后发现是❤

2787 次点击
所在节点    Python
11 条回复
zhihaofans
2017-02-23 19:55:03 +08:00
txtData 是从网上抓的中文小说
JackyBao
2017-02-23 19:55:09 +08:00
为什么这个心还能显示红色???
zhihaofans
2017-02-23 19:55:43 +08:00
@JackyBao 设备字体问题
zhihaofans
2017-02-23 19:56:17 +08:00
@JackyBao 我的 iphone 也是
nanpuyue
2017-02-23 19:57:11 +08:00
不要转成国标码,直接存 UTF-8
zhihaofans
2017-02-23 20:04:35 +08:00
@nanpuyue 谢谢,解决了
JackyBao
2017-02-23 20:06:38 +08:00
🐥🐥🐥
原来如此
kaneg
2017-02-23 20:11:38 +08:00
gbk 里面没有定义♥️
zhihaofans
2017-02-23 20:14:50 +08:00
@kaneg 懂了谢谢(* ̄︶ ̄)
tedzhou1221
2017-02-24 08:41:21 +08:00
一般没什么特殊的,统一用 utf-8,我是这样做的
chaegumi
2017-02-24 14:52:58 +08:00
utf8mb4 ,还可以保存 emoji 表情,微信的昵称

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/342724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX