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')
 
 

猜你喜欢

转载自www.cnblogs.com/classics/p/10417272.html