python编码问题

xiaoxiao2021-02-28  104

1、UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 12: ordinal not in range(128)

    解决方案1:

在python的安装目录下的Lib目录,找到site.py,修改defsetencoding()方法 defsetencoding():  if0: #Enabletosupportlocaleawaredefaultstringencodings. 把那个if0该位if1试试。。 解决方案2: 注意python不支持中文,所以需要在代码第一行加入:# -*- coding: utf-8 -*-

       注意符号的中英文形式,例如冒号  :

2、命令行中运行python脚本,中文乱码

    解决方案:

         可以把命令窗口编码方式改为UTF8,但是再运行会出现Error0的问题。

        更改注册表:CHCP 65001

        如果还是乱码

           

cmd命令行编码设置

cmd窗口情况下:windows下cmd默认的编码是GBK

         想在windows下查看sqlite的utf-8中文需要先 执行chcp 65001把当前页换为utf-8编码

      chcp 命令:

      chcp 65001  就是换成UTF-8代码页,在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"LucidaConsole",然后点击确定将属性应用到当前窗口

      chcp 936 可以换回默认的GBK 

      chcp 437 是美国英语

cmd执行python中文乱码,检查系统是否为英文版,系统是英文的情况下,想要汉化,需要更改系统文件;

3、如何永久地将默认编码设置为utf-8呢?  有2种方法: 

================================== 第一个方法<不推荐>: 编辑site.py, 修改setencoding()函数, 强制设置为 utf-8  第二个方法<推荐>: 增加一个名为 sitecustomize.py, 推荐存放的路径为 site-packages 目录下 sitecustomize.py 是在 site.py 被import 执行的, 因为 sys.setdefaultencoding() 是在 site.py 的结尾处被删除的, 所以, 可以在 sitecustomize.py 使用 sys.setdefaultencoding().  #file name:       import sys   sys.setdefaultencoding('utf-8')  

4、UnicodeDecodeError: 'gbk' codec can't decode bytes in position 28-29: illegal multibyte sequence

    可以在输出的内容前加u  例如:print  u'提示信息'

5、生成log文件或写入其他文件出现乱码:

写文件编码问题: #创建并打开一个新文件 filename = 'E:/quality/it/pyrequest-master/log/itest.log' fd = open(filename,mode='w', encoding='utf-8') 写入内容时,同样需要指定编码格式 handler=logging.FileHandler(log_filename, encoding='utf-8')

   

转载请注明原文地址: https://www.6miu.com/read-68873.html

最新回复(0)