今天在完善robotframework的数据分离的时候,需要读取list中的中文信息,在日志输出中,英文显示是正常的;但是中文就出现所谓的乱码情况,如截图所示
对于list中的信息,日志显示乱码;查找资料是内部编码造成的,网上有很多都是robotframework3.0的解决办法,但是我本机安装的是2.8.7,发现3.0的解决方法不适用于2.8....
后来发现所要修改的文件仍是C:\Python27\Lib\site-packages\robot\utils目录下的unic.py这个文件,这里是修改文件的截图,如图所示
注意:要导入json包
源文件下载地址:链接: https://pan.baidu.com/s/1jIQn3X8 密码: cqny
源码:注意前后缩进
1 # time:2017-11-17 2 # consult:http://blog.csdn.net/Allan_shore_ma/article/details/65441853?locationNum=10&fps=1 3 # Resolved Chinese mess code. 4 if isinstance(item,(list,dict,tuple)): 5 try: 6 item = json.dumps(item,ensure_ascii=False,encoding=‘cp936‘) 7 except UnicodeDecodeError: 8 try: 9 item = json.dumps(item,ensuer_ascii=False,encoding=‘cp936‘) 10 except: 11 pass 12 except: 13 pass
修改文件完成之后,将robotframework重启,再次打卡运行此用例,终于显示正常\(^o^)/~,如图所示
这里参考了 http://blog.csdn.net/Allan_shore_ma/article/details/65441853?locationNum=10&fps=1,编码问题说明的很透彻!!!非常赞
时间: 2024-10-16 06:22:47