问 题
大概就是从服务器接口传回一个josn格式的包
{"from":"en","to":"zh","trans_result":[{"src":"East Berlin, 1975","dst":"\u4e1c\u67cf\u6797\uff0c1975"}]}
这个样子,然后我用eval()处理了这个包
u = response.read() #从服务器接口传回的
dict_mid = eval(u) #这里通过eval()将这个包变成了字典
dict_trans = dict_mid.get('trans_result') #然后得到trans_result中的值,值是一个列表,只有一个元素就是{"src":"East Berlin, 1975","dst":"\u4e1c\u67cf\u6797\uff0c1975"}
dict_trans_mid = dict_trans[0] #然后获得这个元素...大牛原谅这种笨重的处理
result_mid = dict_trans_mid.get('dst') #然后这个元素呢又是一个字典,就又获得dst的值
result = (unicode(result_mid, 'utf8')).encode("UTF-8") #想把这个\u4e1c\u67cf\u6797\uff0c1975编码成utf8,然后输出
print result #可是输出结果还是\u4e1c\u67cf\u6797\uff0c1975
假如把这个\u4e1c\u67cf\u6797\uff0c1975复制到终端python里面
print (u'\u4e1c\u67cf\u6797\uff0c1975').encode("UTF-8")
是可以获得中文输出的
所有来问问各位大牛,怎么在程序中输出中文
解决方案
由于我用的Python3.X,所以直接打印出来就行了……
即便你使用的是Python2.X,也还有救。可以使用__future__模块嘛~
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起