linux : 各個發行版中修改python27默認編碼為utf-8


該方法可解決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'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM