Python如何设置utf-8为默认编码的问题

 更新时间:2024年06月24日 09:15:30   作者:子不语  
这篇文章主要介绍了Python如何设置utf-8为默认编码的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python设置utf-8为默认编码

python默认的编码是ASCII,通过sys.getdefaultencoding()可以查看默认编码。

当程序中出现非asc编码时,python的处理常常会有乱码的错误,一般有如下几种方法:

代码临时更改

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')  

只在程序执行时临时生效,系统默认编码并没有改变。

此时如果还有编码错误 ,需要用到encode(‘utf-8’),将字符串显式声明编码。

字符串.encode('utf-8')

目录文件更改

创建一个叫 sitecustomize.py的文件,因为python在启动的时候会去加载这个文件,如果要修改一些启动的变量就可以把操作写在这个文件。

  • 第一步:

在python安装目录的Lib\site-packages文件夹下新建一个sitecustomize.py文件

  • 第二步:

在sitecustomize.py填写如下代码

# encoding=utf8  
import sys  
  
reload(sys)  
sys.setdefaultencoding('utf8') 

python2.7永久地将默认编码设置为utf-8

网上推荐了两种方法

  • 第一个方法<不推荐>

编辑site.py, 修改setencoding()函数, 强制设置为 utf-8

  • 第二个方法<推荐>

增加一个名为 sitecustomize.py, 推荐存放的路径为 site-packages 目录下

sitecustomize.py 是在 site.py 被import 执行的,因为 sys.setdefaultencoding() 是在 site.py 的结尾处被删除的,所以,可以在 sitecustomize.py 使用 sys.setdefaultencoding().

#file name: sitecustomize.py
import sys
sys.setdefaultencoding(‘utf-8')

既然 sitecustomize.py 能被自动加载, 所以除了设置编码外, 也可以设置一些其他的东西.

实践

  • python2.7 sys.setdefaultencoding()报错,说不存在setdefaultencoding
  • 但是这个问题大多数在python3 中抛出
  • 把site.py 中的del setdefaultencoding的代码注释了任然无效
  • 最后直接修改site.py 中setencoding()函数的encoding=‘utf-8’
  • 重启程序,欧克,不再报编码问题

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 网页请求之requests库的使用详解

    Python 网页请求之requests库的使用详解

    requests 是 Python 中比较常用的网页请求库,主要用来发送 HTTP 请求,在使用爬虫或测试服务器响应数据时经常会用到,使用起来十分简洁,这篇文章主要介绍了Python 网页请求之requests库的使用详解,需要的朋友可以参考下
    2022-09-09
  • Win7上搭建Cocos2d-x 3.1.1开发环境

    Win7上搭建Cocos2d-x 3.1.1开发环境

    现在,越来越多的公司采用Cocos2d-x 3.0来开发游戏了,但是现在这样的文章并不多,所以打算写一系列来帮助初学者快速掌握Cocos2d-x 3.0。首先就从开发环境的大家说起吧
    2014-07-07
  • python调用接口的4种方式代码实例

    python调用接口的4种方式代码实例

    这篇文章主要介绍了python调用接口的4种方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python Selenium 库的使用技巧

    python Selenium 库的使用技巧

    这篇文章主要介绍了python Selenium 库的使用技巧,帮助大家更好的理解和学习python Selenium 库,感兴趣的朋友可以了解下
    2020-10-10
  • python追加元素到列表的方法

    python追加元素到列表的方法

    这篇文章主要介绍了python追加元素到列表的方法,涉及Python列表操作中append方法追加元素的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 使用IronPython把Python脚本集成到.NET程序中的教程

    使用IronPython把Python脚本集成到.NET程序中的教程

    这篇文章主要介绍了使用IronPython把Python脚本集成到.NET程序中的教程,现在刚刚被微软开源的.NET重新成为业界热点、本文介绍了使Python和.NET交互的IronPython,需要的朋友可以参考下
    2015-03-03
  • python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

    python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

    这篇文章主要给大家介绍了关于python DataFrame中stack()方法、unstack()方法和pivot()方法的相关资料,pandas中这三种方法都是用来对表格进行重排的,其中stack()是unstack()的逆操作,需要的朋友可以参考下
    2022-04-04
  • python语言实现贪吃蛇游戏

    python语言实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了python语言实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • Python写脚本常用模块OS基础用法详解

    Python写脚本常用模块OS基础用法详解

    这篇文章主要介绍了Python写脚本常用模块OS基础用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 详解Django+Uwsgi+Nginx的生产环境部署

    详解Django+Uwsgi+Nginx的生产环境部署

    这篇文章主要介绍了Django + Uwsgi + Nginx 的生产环境部署,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06

最新评论