該方法可解決robot報錯:'ascii' codec can't encode character u'\xf1' in position 16: ordinal not in range(128)
在下面目錄中新增文件:sitecustomize.py
內容為
#coding=utf-8 import sys reload(sys) sys.setdefaultencoding('utf8')
各個發行版放置位置:
RedHat:
/usr/local/python27/lib/python2.7/site-packages/
Ubuntu
/usr/lib/python2.7
其他發行版
/usr/local/lib/python.27/site-packages
測試一下:使用sys.getdefaultencoding()測試,看返回是不是utf8
[root@base7565 site-packages]# python Python 2.7.14 (default, Sep 2 2019, 14:26:39) [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.getdefaultencoding() 'utf8' >>>
當robot通過cx_Oracle連接Oracle數據庫時如果sql語句中出現中文,需要將文件內容修改為:
#coding=utf-8 import sys reload(sys) sys.setdefaultencoding('utf8') import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'