zoukankan      html  css  js  c++  java
  • 解决Python2中文ascii编码的方法

    YiiChina签到的时候,经常会看到有人在说说里面发群主是最帅的,yii 是 PHP 最好的框架,没有之一,就想到使用一言,在每天签到的时候也发一句话

    同时使用方糖将内容推送到微信,防止有什么不对的内容,方便上去修改

    昨天晚上抽空搞得时候,发现报错了:

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

    再三确认文件头含有# coding=utf-8,没问题啊

    经过搜索,发现应该是因为Python2.x的默认编码是ascii,而代码中可能由utf-8的字符导致,解决方法是设置utf-8

    使用Python自带模块sys修改编码

    sys.getdefaultencoding() 
    # 获取系统当前编码,一般默认为 ascii
    sys.setdefaultencoding() 
    # 设置系统默认编码

    所以在代码中的import后增加下面几行代码:

    import sys
    if sys.getdefaultencoding() != 'utf-8':
        reload(sys)
        sys.setdefaultencoding('utf-8')

    加了一个reload(sys)是因为Python2.x初始化后会删除sys.setdefaultencoding这个方法,我们需要重新载入

  • 相关阅读:
    洛谷
    洛谷
    NOIP 普及组 2014 螺旋矩阵
    NOIP 普及组 2014 珠心算测验
    hdu 1114Piggy-Bank(完全背包)
    hdu 2059龟兔赛跑("01"背包)
    洛谷 P1282 多米诺骨牌("01"背包)
    洛谷 P1140 相似基因(DP)
    洛谷 P1880 [NOI1995] 石子合并(区间DP)
    洛谷 P1280 尼克的任务
  • 原文地址:https://www.cnblogs.com/zwq-/p/11327186.html
Copyright © 2011-2022 走看看