你获得的u是json格式吧?如果是的话dict_mid = eval(u) 这里不要使用eval来转化为字符串,试试用json.loads(u)
import json
u = response.read()
ju = json.loads(u)
result_mid = ju['trans_result']['dst']# 这里可以先使用type(result_mid)看一下它是不是一个unicode,如果是的话再用encode转成你想要的编码print result_mid.encode("UTF-8")
如果你在windows下的话打印出来的应该是乱码,在cmd中要使用encode('gbk')来打印
我觉得你上面的问题出在使用eval(u)函数,你使用eval后要将得到的json转化为了字典,但是也将里面的'\u4e1c\u67cf\u6797\uff0c1975'
类型转变了string,但是使用json.loads()可以将'\u4e1c\u67cf\u6797\uff0c1975'
转化成unicode类型u'\u4e1c\u67cf\u6797\uff0c1975'