django 編碼錯誤


估計這個問題是2.7的問題3.0好像就統一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才會為可用,才能在代碼里修改解釋器當前的字符編碼。           


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM