国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

django項目運行因中文而亂碼報錯的幾種情況解決

2020-02-16 10:35:10
字體:
來源:轉載
供稿:網友

前言

django項目開發過程中,碰到了多種情況下的中文亂碼報錯,在這兒做一下處理總結。

報錯:UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in range(128)

1.因代碼中的中文注釋問題的報錯

django項目的.py文件文件中加入了中文注釋,經常會因此報錯而導致無法運行,究其原因是編碼的問題,最后的解決辦法是直接在有中文注釋的.py文件的頂部加上:

# -*-coding:utf-8 -*-

2.運行過程中的中文亂碼的報錯

首先確保連接的數據庫的基礎設置是utf-8:

然后確認django項目中的網頁頭部設置編碼為utf-8,網頁頭部加上代碼:

<meta charset="utf-8">

最后仍然報錯就是因為django項目中我們沒有指明編碼方式,所以按照默認設置來,而非正常的utf-8,為:

所以項目最后需要在進行編碼操作的地方,或者直接在settings.py中加入:

import sysreload(sys)sys.setdefaultencoding('utf-8')

3.項目配置在debian系統中,FileField字段在admin中因中文文件名上傳報錯

在一個django項目中發現,在本地windows測試環境中,django admin的文件上傳功能毫無障礙,可是當項目布置在debian環境中時,中文文件名的文件在admin中無法上傳,并且報中文亂碼的錯,該錯誤的主要原因來自系統編碼問題,該debian系統中未設置系統編碼語言,均為默認設置,導致所布置的項目無法正常運行,解決如下:

(1).終端中操作安裝locales

apt-get install locales

(2).重新選擇字符編碼

dpkg-reconfigure locales

(3).空格選擇所有zh_開頭的字符編碼,OK確認下一步,選擇中文UTF-8

(4).debian里需要在~/.bashrc里面最下面加入export LC_ALL=zh_CN.UTF-8或者直接運行export LANG=zh_CN.UTF-8

(5).最后直接reboot重啟服務器,查看系統編碼,UTF-8中文生效,locale命令可以直接查看系統編碼設置,此時再運行django項目上傳中文名文件無誤。

附:django郵件亂碼解決方案

python中有email.meeesage 和 email.header 對郵件中的非ASCII進行處理, 因此需要對sendMail函數中的參數進行如下處理:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扶沟县| 清涧县| 山西省| 体育| 西畴县| 新宾| 海南省| 建昌县| 宁陵县| 金秀| 高陵县| 房山区| 太谷县| 通州区| 昆明市| 泰来县| 开远市| 淮阳县| 白山市| 永寿县| 贵南县| 沂源县| 南平市| 东平县| 曲水县| 吴江市| 简阳市| 陵水| 定兴县| 牟定县| 浠水县| 苗栗县| 和顺县| 阿拉善盟| 蕉岭县| 吉隆县| 闸北区| 昭苏县| 象州县| 墨脱县| 彰化市|