pythonoracle亂碼
A. python輸出部分亂碼
#-*-coding:UTF-8-*-
importsys
reload(sys)
print(sys.getdefaultencoding())#查看默認編碼,我的是ascii
sys.setdefaultencoding('utf8')
print(sys.getdefaultencoding())#已經轉為utf8了,應該沒問題了
str=input('請輸入:')#如果是python2建議用raw_input()
print'你輸入的內容是:',str
B. Python為什麼一運行就是亂碼
可能是編碼問題,開頭加上coding:utf-8試試。
C. python 中文亂碼問題
記事本是用utf-8保存你下載了東西的。你下載下來的不是utf-8,保存下來中文當然就亂碼了。而gbk和utf-8里英文的編碼值都一樣,所以不受影響。
一個方法是你留意下目標頁面的charset 和 contentType,另一個方法是你復制一個目標頁面的字,放cmd里看它的編碼長度,以此來判斷它的原來編碼。
D. python3.6 cx_oracle連接資料庫報編碼錯UnicodeDecodeError
我說下我遇到的情況
資料庫字元集是 ZHS16GBK
錯誤的情況是
UnicodeDecodeError:'gbk'codeccan'tdecodebyte0xa7inposition12:illegalmultibytesequence
經過檢查,在fetchall()獲取記錄時,查詢到的記錄裡面有亂碼(應該是不包含在資料庫現有字元集下的字元)
臨時的一個解決辦法是
db=cx_Oracle.connect(dblink,encoding='UTF-8')
這樣可以讀取了,讀取到的內容為
廣州市ue738同泰路
其中 'ue738'應該是之前不可被讀取的字元,希望對各位有幫助
E. python命令行輸入中文亂碼怎麼辦
python2.X,代碼中指定了UTF-8,但是在cmd命令行窗口時,列印的中文仍然會亂碼。
在python3不存在該問題
運行結果:
原因
中文windows默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況。
相關推薦:《Python基礎教程》
解決方法
有如下兩種方法可以解決這個問題
方法一
我們可以通過先把中文解碼為unicode,然後再轉化為gbk來解決這個問題:
修改後運行結果:
方法二
當然,我們也可以通過改變cmd命令行窗口的輸出格式來解決這個問題:
·chcp 65001 就是換成UTF-8代碼頁
·chcp 936 可以換回默認的GBK
但是這樣就降低了腳本的兼容性,在其他環境運行的時候可能還會出現這樣的錯誤,而且可能會影響其他腳本運行,所以推薦使用第一種方法。
F. python3.6 cx_oracle連接資料庫報編碼錯UnicodeDecodeError
我說下我遇到的情況
資料庫字元集是
ZHS16GBK
錯誤的情況是
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 12: illegal multibyte sequence經過檢查,在fetchall()獲取記錄時,查詢到的記錄裡面有亂碼(應該是不包含在資料庫現有字元集下的字元)
臨時的一個解決辦法是
db=cx_Oracle.connect(dblink,encoding='UTF-8')這樣可以讀取了,讀取到的內容為
廣州市\ue738同泰路其中
'\ue738'應該是之前不可被讀取的字元,希望對各位有幫助
G. 執行python腳本出現亂碼怎麼解決
執行python腳本出現亂碼的解決方法:首先把中文解碼為unicode,具體方法如:【decode('utf-8')】;然後再轉化為gbk即可,具體方法如:【encode('gbk')】。
問題:
代碼中指定了UTF-8編碼,但是在cmd命令行窗口時列印的中文仍然會亂碼。
(推薦教程:Python入門教程)
原因:
windows下中文默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況。
解決方法:
可以先把中文解碼為unicode,然後再轉化為gbk來解決這個問題。
舉例:
運行結果:
H. python2.x讀取Oracle11g的NCLOB數據(超長文本)輸出時亂碼問題,怎麼解決
python 2.7.2需要使用cx_Oracle 5.1以上版本的,請升級版本後再試