print param if(param.has_key('name')): print param['name'] else: print 'no name key'
大神们,如果直接打印出 param 指定 key 对应的值,就会输出中文 但是如果直接打印 param 这个字典中的所有数据,对应的中文就会变为 目前这个接口一直调试不成功,我怀疑就是这个编码问题导致的,返回的数据一直提示参数错误,请大神们指点下,谢谢~
备注:小弟用的是 python2.x 版本~
print '\xe5\x85\x88\xe7\x94\x9f'.decode('utf-8')
大神,我想问个小问题,就是说我这个参数最终目的是要整合到参数中的,这个 print 只能保证在我用 print 的时候才能输出中文,但是我传参的时候不能带着 print 吧。。。
看你编码格式是 utf-8 还是 gbk 以及参数是代码定义还是文件读取 print 只是为了调试显示方便
编码格式是 utf-8 没问题,参数目前有些 low,我就是直接写的'先生',然后传递进去的。。。
这个问题是 python dictionary 的 __str__() 函数处理的问题。你可以试试
__str__()
test_dict = {'test':"中文"} print(test_dict) print(test_dict['test'])
输出结果里面,第一行的中文会以 utf-8 码的形式显示,第二行的中文是正常显示的。
如果要让它显示正常中文(比如在日志里打印整个 dictionary ),有一个变通的方法。可以先用 json.dumps(test_dict, ensure_ascii=False) 转成 json 字符串,再 print 出来
json.dumps(test_dict, ensure_ascii=False)
print
大神,我明白你的意思,谢谢~
建议还是 python3.X 吧