python写入中文乱码
1. python命令行输入中文乱码怎么办
python2.X,代码中指定了UTF-8,但是在cmd命令行窗口时,打印的中文仍然会乱码。
在python3不存在该问题
运行结果:
原因
中文windows默认的输出编码为gbk ,与脚本中定义的UTF-8不一样,所以出现了解码失败的情况。
相关推荐:《Python基础教程》
解决方法
有如下两种方法可以解决这个问题
方法一
我们可以通过先把中文解码为unicode,然后再转化为gbk来解决这个问题:
修改后运行结果:
方法二
当然,我们也可以通过改变cmd命令行窗口的输出格式来解决这个问题:
·chcp 65001 就是换成UTF-8代码页
·chcp 936 可以换回默认的GBK
但是这样就降低了脚本的兼容性,在其他环境运行的时候可能还会出现这样的错误,而且可能会影响其他脚本运行,所以推荐使用第一种方法。
2. python 向sql Server2008插入中文数据乱码
1、中文乱码问题:
(1)、文件头加上#
-*-
coding:utf-8
-*-
或者
#coding=utf8
(2)、pymssql.connect连接串中charset是要跟你数据库的编码一样,如果是数据库是gb2312
,则写charset='gb2312'。
(3)、读取数据时需要decode('utf-8'),写入数据时需要encode('utf-8'),这样就可以避免中文乱码或报错问题。
做个搬运工,转载自网页链接,我用方法2搞定了汉字查询输出。
3. python中的中文乱码问题
你的运行环境应该是Windows的cmd下吧
#!/usr/bin/python
#coding:utf-8
os_char='gb18030'
printu"直接打印Unicode"
printu"Unicode转换成GB18030".encode(os_char)
print"UTF-8中文转换到GB18030,然后再打印".decode("utf-8").encode(os_char)
4. python log中文乱码
Python log出现中文乱码的解决方法:修改“handle”的“encode”参数为“utf-8”,即在源码中修改“encoding='utf-8'”。
python log写入中文乱码,直接修改handle的encode参数为utf-8
即在源码中修改encoding='utf-8',因为 logging.basicConfig() 配置时实际上是用到了4大组件,只不过给了默认值,在loging.FileHandler()方法中默认是这样的。
只需在源码中修改。
推荐课程:零基础入门学习Python(小甲鱼)
5. python中文显示乱码,已经在开头有了coding: utf-8
乱码原因:
因为你的文件声明为 utf-8,并且也应该是用 utf-8 的编码保存的源文件。但是 windows 的本地默认编码是 cp936,也就是 gbk 编码,所以在控制台直接打印 utf-8 的字符串当然是乱码了。
解决方法:
py文件用记事本打开,另存为utf-8格式即可
6. python print中文乱码问题 win10 Python2
python2字符串编码的问题,如果要输出中文可以使用u前缀,这样就可以直接使用了
a=u'你好'
printa
这样就可以了
7. python 中文乱码问题
记事本是用utf-8保存你下载了东西的。你下载下来的不是utf-8,保存下来中文当然就乱码了。而gbk和utf-8里英文的编码值都一样,所以不受影响。
一个方法是你留意下目标页面的charset 和 contentType,另一个方法是你复制一个目标页面的字,放cmd里看它的编码长度,以此来判断它的原来编码。
8. python用xlwt向xls中写入中文,显示乱码该怎么解决
乱码是编码问题,微软的excel默认打开的编码是gbk,如果你写入的数据是非gbk编码的,那么使用微软excel打开就会出现乱码的情况。解决方法为:对要写入的数据编码为gbk之后在进行写入,在python中的简单的操作方法如下:
1.源数据为unicode编码,则直接使用encode("gbk")即可转换编码;
str=u"我爱中国共产党"#unicode编码的字符串
des_str=str.encode("gbk")#转换为gbk编码
2.源数据不是unicode编码,那么必须先使用decode函数解码为unicode编码,在按照第一种情况转换为gbk编码。
str=u"我爱中国共产党"#unicode编码的字符串
src_str=str.encode("utf-8")#源数据格式utf-8
des_str=str.decode("utf-8").encode("gbk")#转换为gbk编码
注意:encode和decode方法为字符串的方法,不能应用与列表等其他类型的数据上