robot 中文 乱码 问题 的处理
第一种方式:
def unic(item):
if isinstance(item, unicode):
return item
if isinstance(item, (bytes, bytearray)):
try:
return item.decode('ASCII')
except UnicodeError:
return u''.join(chr(b) if b < 128 else '\\x%x' % b
for b in bytearray(item))
if isinstance(item, (list, dict, tuple)):
try:
item = json.dumps(item, ensure_ascii=False, encoding='utf-8')
except UnicodeDecodeError:
try:
item = json.dumps(item, ensure_ascii=False, encoding='utf-8')
except:
pass
except:
pass
注意:C:\Python27\Lib\site-packages\robotframework-3.0.4-py2.7.egg\robot\utils,在unic.py文件中插入下面的文字
2、修改python 的默认编码
如果你的还是显示不正常,请继续往下看,我们来看一下是不是python默认的编码方式导致的
cmd命令下通过以下命令查看python默认的编码
python
import sys
sys.getdefaultencoding()
这时看到,python的默认编码方式是ascii编码方式,这时我们将它改成utf8
在Python的Lib\site-packages文件夹下新建一个sitecustomize.py文件,内容为:
#coding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')