我说下我遇到的情况
错误的情况是
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'应该是之前不可被读取的字符,希望对各位有帮助
一、pl/sql developer 中文字段显示乱码原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。
二、查看和修改oracle数据库字符集:
select userenv('language') from dual
查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
--修改oracle数据库字符集:(在SQL Plus中)
sql>conn / as sysdba
sql>shutdown immediate
database closed.
database dismounted.
oracle instance shut down.
sql>startup mount
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql>alter system enable restricted session
system altered.
sql>alter system set job_queue_processes=0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)