Python 2.7中的Unicode问题

Python 2.7中的Unicode问题,python,python-2.7,unicode,nltk,Python,Python 2.7,Unicode,Nltk,我将tweets保存在一个json文件中 这是我的代码: def on_data(self, data): try: with codecs.open('python.json', 'a', encoding='utf-8') as f: f.write(data) print("Tweet ajoute au JSON") return True except BaseException a

我将tweets保存在一个json文件中

这是我的代码:

def on_data(self, data):
    try:
        with codecs.open('python.json', 'a', encoding='utf-8') as f:
            f.write(data)
            print("Tweet ajoute au JSON")
            return True
    except BaseException as e:
        print("Error on_data: %s" % str(e))
    return True
但是我得到了这种类型的字符:
\u0e40\u0e21\u0e19\u0e0a


我尽了一切努力不使用这种字符,但没有任何效果(utf-8,latin2…

如果您希望在JSON文件中直接编码非ascii字符,则需要使用该选项对JSON进行编码。

到底是什么问题?您有这些字符是什么意思??在文件中?正在将结果打印到终端*具体是什么*是的,这就是Python 2中这些unicode字符的表示方式,但请尝试打印它们。您知道Python字符串中的
\t
如果打印,实际上不会显示
\t
,而是显示一个(神奇的变量!)数量的空格吗?如果打印
\n
,光标是否会移动到下一行?现在,推断一下。内部符号
\u0e19
以某种方式神奇地打印为“น". (如果打印到支持此脚本的控制台上。)我投票将此问题作为主题外的问题结束,因为它只是表示缺乏理解。如果OP知道使用
json
模块的任何迹象,这可能很有用。