Robot Framework中文日志乱码问题

问题描述:接口、数据库返回信息有中文的时候控制台或日志报告会显示乱码或unicode编码样式

1、查询SQL中文乱码,需要在连接数据库时,在结尾处指定编码方式。即在 pymysql 连接尾部加上 charset='UTF8' 即可。例如:

Connect to database using custom params    pymysql    host='127.0.0.1',port=3306,user='root',passwd='123456',db='test',charset='UTF8'

2、控制台设置为 UTF-8字符集

> chcp 65001
> python ride.py

3、修改unic.py文件

若Robot Framework为3.0.X,找到python安装目录下的\Lib\site-packages\robot\utils\unic.py文件

引入json库:

import json

将下面代码复制到如图位置,注意对齐方式

if isinstance(item, (list, dict, tuple)):
   try:
       item = json.dumps(item, ensure_ascii=False, encoding='cp936')
   except UnicodeDecodeError:
       try:
           item = json.dumps(item, ensure_ascii=False, encoding='cp936')
       except:
           pass
   except:
       pass

其中的cp936可用utf-8或者gbk编码格式去替换

Robot Framework中文日志乱码问题

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/03/robot-framework-chinese-log-garbled-issue/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Robot Framework中文日志乱码问题
问题描述:接口、数据库返回信息有中文的时候控制台或日志报告会显示乱码或unicode编码样式 1、查询SQL中文乱码,需要在连接数据库时,在结尾处指定编码方式。……
<<上一篇
下一篇>>
文章目录
关闭
目 录