Sto lavorando con un database contenente molti caratteri cinesi. Il mio codice più o meno così:Impostazione della codifica dei risultati della query in cx_Oracle/UnicodeDecodeError con caratteri cinesi
connection = cx_Oracle.connect("%s/%[email protected]%s:%s/%s" % (username, password, host, port, service_name))
cursor = connection.cursor()
cursor.execute('SELECT HOTEL_ID,CREATE_TIME,SOURCE,CONTENT,TITLE,RATE,UPDATE_TIME FROM T_FX_COMMENTS')
for row in cursor:
# Stuff goes here
pass
ma ottengo questo errore:
Traceback (most recent call last):
File "test.py", line 17, in <module>
for row in cursor:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 26: illegal multibyte sequence
Sembra GBK
non è sufficiente. Voglio rendere cx-oracle
dammi i risultati codificati GB18030
, anziché GBK
. Come faccio a fare questo?
cx_Oracle.Connection.encoding
è di sola lettura ... Non ho trovato nulla nella documentazione cx-oracle
che suggerisce che posso farlo.
Sono su Python 3.3.2 e cx-oracle
5.1.2. Deve esserci qualcosa che mi manca qui. L'aiuto è apprezzato!
Stai usando Python 2 o 3? – Maciek
Stesso scenario per me ... hai trovato una soluzione? – daveoncode