zoukankan      html  css  js  c++  java
  • django 编码错误

    估计这个py2版本的问题,py3就统一utf编码了

    报错代码:

    python :ascii codec can't decode byte 0xe8 in posi

    当django中报这个错误的时候,如果有比较详细的文件路径还好说就可以针对这个文件进行编码处理。但是如果报错中没有文件路径那肯定要疯掉。

    针对没有具体的文件路径解决办法:

    在这个地方增加代码,manage.py

    #!/usr/bin/env python
    import os
    import sys
    
    if __name__ == "__main__":
    #重新加载sys reload(sys)
    #设置编码为utf-8 sys.setdefaultencoding('utf-8')
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cmdbs.settings") from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)

    这样直接在入口更改就OK了

    那么为什么要重新加载,而直接引用过来则不能调用该函数呢?

          因为setdefaultencoding函数在被系统调用后被删除了,所以通过import引用进来时其实已经没有了,所以必须reload一次sys模块,这样setdefaultencoding才会为可用,才能在代码里修改解释器当前的字符编码。           

  • 相关阅读:
    POJ 3468 A Simple Problem with Integers
    BZOJ 4430 Guessing Camels
    POJ 2309 BST
    POJ 1990 MooFest
    cf 822B Crossword solving
    cf B. Black Square
    cf 828 A. Restaurant Tables
    Codefroces 822C Hacker, pack your bags!
    [HDU 2255] 奔小康赚大钱
    [BZOJ 1735] Muddy Fields
  • 原文地址:https://www.cnblogs.com/menkeyi/p/5899636.html
Copyright © 2011-2022 走看看