我正在使用一个包含很多汉字的数据库。我的代码是这样的:
connection = cx_Oracle.connect("%s/%s@%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
但我得到这个错误:
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
似乎GBK
还不够。我想cx-oracle
给我GB18030
编码的结果,而不是GBK
. 我该怎么做呢?
cx_Oracle.Connection.encoding
是只读的...我在cx-oracle
文档中没有找到任何表明我可以做到这一点的内容。
我在 Python 3.3.2 和cx-oracle
5.1.2 上。这里一定有我遗漏的东西。帮助表示赞赏!