Python oracle數據庫操作時,中文查詢報錯
作者:Ge__
python中使用oracle數據庫進行查詢時,出現下面的錯誤:UnicodeEncodeError: 'ascii' codec can't encode characters in position 54-57: ordinal not in range(128) 錯誤定位是在cur.execute(sql)進行查詢的這句。
python中使用oracle數據庫進行查詢時,出現下面的錯誤:
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 54-57: ordinal not in range(128)
錯誤定位是在cur.execute(sql)進行查詢的這句。
因為提示編碼問題,一直在折騰編碼,各種斷點加下來,其實語句本身并沒有發生亂碼,而且因為使用的python3.x,默認已經是utf-8編碼,不該出現這樣的問題啊。。
各種查,把網上各種改編碼的方法試了一下遍。。
***發現搜索方式不對..***的***終于找到了,是oracle的一個環境變量沒有配。
windows下可以參考:
添加變量名:NLS_LANG
添加變量值:SIMPLIFIED CHINESE_CHINA.UTF8
Mac下可以直接在數據庫操作的文件頂部添加,給oracle設置字符集。
- import os
- os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
大功告成!!
責任編輯:龐桂玉
來源:
36大數據