Firefox可以在gb2312编码的HTML中显示'囧'
。但是u'囧'.encode('gb2312')
会引发UnicodeEncodeError
。
1.是否有地图,因此firefox可以在该地图中查找gb2312编码字符,找到01显示矩阵并显示囧
。
2.是否有地图将unicode转换为gb2312,但u'囧'
不在该地图中?
答案 0 :(得分:3)
囧不在gb2312中,改用gb18030。我猜火狐可能会在面对未知字符时扩展编码方法。
答案 1 :(得分:3)
当人们或软件说某些东西是GB2312编码时,它们通常意味着它是用GBK编码编码的,即a.k.a.CP936来自微软。 GB2312是20世纪80年代使用的GBK的子集,但它们都是same family of encodings的一部分。
顺便说一下,即将推出的WhatWG encoding specification建议将任何标记为" gb2312"作为GBK编码的文本。
因此,请尝试u'囧'.encode('gbk')
或u'囧'.encode('cp936')
或u'囧'.encode('windows-936')
。