这可能不是与Python相关的问题,但通常与语言编码有关。我正在从Twitter挖掘推文,似乎有一个庞大的日本用户社区(有日文消息)。当我尝试编码推文来获取XML文件时,我使用了utf-8。例如tweet = tweet.encode('utf-8')并没有出现任何日文推文。我提出的问题是,我该怎么编码呢?我的错是什么?如果我要将数据存储在CSV中,那么在这种情况下我会使用什么编码方案?
答案 0 :(得分:3)
通常情况下,您会查询数据编码的格式。话虽如此,Shift-JIS是日文文本的一种流行编码。
>>> u'あいうえお'.encode('shift-jis')
'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8'
答案 1 :(得分:2)
从Twitter读取时,应该有一种方法可以查询推文的编码。然后,当您将它们读入程序时,将解码到Unicode,然后在将它们写回XML文件时编码它们。例如,中文可能使用 gbk 编码:
import codecs
unicode_data = data.decode('gbk')
f = codecs.open('out.xml','w','utf-8')
f.write(unicode_data)
f.close()