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以上版本的,请升级版本后再试