美文网首页
解决Python2.7的UnicodeEncodeError:

解决Python2.7的UnicodeEncodeError:

作者: LEUNGJH | 来源:发表于2018-05-14 17:47 被阅读0次

    django想读取入库的nginx配置,然后写入到配置文件中

    代码

    出现报错:

    'ascii' codec can't encode

    代码逻辑应该没什么问题,断点打印能获取显示配置内容,所以定位问题在写入配置文件时候出错,应该就是编码问题了。Unicode编码与ASCII编码的不兼容,其实这个Python脚本文件是由utf-8编码的,同时mysql数据库存取的也是UTF-8格式,字符串在Python内部的表示是unicode编码基本上是ascii编码方式,由此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))。

    解决:

    加入3行代码

    import sys

    reload(sys)

    sys.setdefaultencoding('utf-8')

    相关文章

      网友评论

          本文标题:解决Python2.7的UnicodeEncodeError:

          本文链接:https://www.haomeiwen.com/subject/mdujdftx.html