摘要:項(xiàng)目開發(fā)過程中,碰到了多種情況下的中文亂碼報(bào)錯(cuò),在這兒做一下處理總結(jié)。
django項(xiàng)目開發(fā)過程中,碰到了多種情況下的中文亂碼報(bào)錯(cuò),在這兒做一下處理總結(jié)。
報(bào)錯(cuò):UnicodeEncodeError: "ascii" codec can"t encode characters in position x-x: ordinal not in range(128)
django項(xiàng)目的.py文件文件中加入了中文注釋,經(jīng)常會(huì)因此報(bào)錯(cuò)而導(dǎo)致無法運(yùn)行,究其原因是編碼的問題,最后的解決辦法是直接在有中文注釋的.py文件的頂部加上:
# -*-coding:utf-8 -*-2.運(yùn)行過程中的中文亂碼的報(bào)錯(cuò)
首先確保連接的數(shù)據(jù)庫的基礎(chǔ)設(shè)置是utf-8:
然后確認(rèn)django項(xiàng)目中的網(wǎng)頁頭部設(shè)置編碼為utf-8,網(wǎng)頁頭部加上代碼:
最后仍然報(bào)錯(cuò)就是因?yàn)閐jango項(xiàng)目中我們沒有指明編碼方式,所以按照默認(rèn)設(shè)置來,而非正常的utf-8,為:
所以項(xiàng)目最后需要在進(jìn)行編碼操作的地方,或者直接在settings.py中加入:
import sys reload(sys) sys.setdefaultencoding("utf-8")3.項(xiàng)目配置在debian系統(tǒng)中,F(xiàn)ileField字段在admin中因中文文件名上傳報(bào)錯(cuò)
在一個(gè)django項(xiàng)目中發(fā)現(xiàn),在本地windows測試環(huán)境中,django admin的文件上傳功能毫無障礙,可是當(dāng)項(xiàng)目布置在debian環(huán)境中時(shí),中文文件名的文件在admin中無法上傳,并且報(bào)中文亂碼的錯(cuò),該錯(cuò)誤的主要原因來自系統(tǒng)編碼問題,該debian系統(tǒng)中未設(shè)置系統(tǒng)編碼語言,均為默認(rèn)設(shè)置,導(dǎo)致所布置的項(xiàng)目無法正常運(yùn)行,解決如下:
(1).終端中操作安裝locales
apt-get install locales
(2).重新選擇字符編碼
dpkg-reconfigure locales
(3).空格選擇所有zh_開頭的字符編碼,OK確認(rèn)下一步,選擇中文UTF-8
(4).debian里需要在~/.bashrc里面最下面加入export LC_ALL=zh_CN.UTF-8或者直接運(yùn)行export LANG=zh_CN.UTF-8
(5).最后直接reboot重啟服務(wù)器,查看系統(tǒng)編碼,UTF-8中文生效,locale命令可以直接查看系統(tǒng)編碼設(shè)置,此時(shí)再運(yùn)行django項(xiàng)目上傳中文名文件無誤。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40984.html
摘要:中國人民看到這樣很不錯(cuò),于是就把這種漢字方案叫做。結(jié)果擴(kuò)展之后的編碼方案被稱為標(biāo)準(zhǔn),包括了的所有內(nèi)容,同時(shí)又增加了近個(gè)新的漢字包括繁體字和符號(hào)。 聲明:文章借鑒自【徹底搞懂 python 中文亂碼問題】 一. 各種編碼的由來 1.1 ASCII編碼 很久很久以前,有一群人,他們決定用8個(gè)可以開合的晶體管來組合成不同的狀態(tài),以表示世界上的萬物。他們看到8個(gè)開關(guān)狀態(tài)是好的,于是他們把這稱為...
摘要:之前在寫一個(gè)簡單的分班程序的時(shí)候,使用如下命令行讀取文件出現(xiàn)了報(bào)錯(cuò)含義為程序由于文件編碼問題無法讀取文件。該行聲明了該程序讀取文件的編碼格式為。如仍報(bào)錯(cuò),可使用方法二解決。第二種使用命令,修改后文件出現(xiàn)亂碼。 注:該文章基于mac環(huán)境。 之前在寫一個(gè)簡單的分班程序的時(shí)候,使用如下命令行讀取csv文件, with open(city.csv) as f: lines = f.re...
摘要:在里,流式響應(yīng)是個(gè)好東西可以快速節(jié)省內(nèi)存地產(chǎn)生一個(gè)大型文件。目前項(xiàng)目里用于流式響應(yīng)的一個(gè)是,用于改善跨系統(tǒng)通訊時(shí)用戶產(chǎn)生的慢速的感覺。 在Django里,流式響應(yīng)StreamingHttpResponse是個(gè)好東西,可以快速、節(jié)省內(nèi)存地產(chǎn)生一個(gè)大型文件。 目前項(xiàng)目里用于流式響應(yīng)的一個(gè)是Eventsource,用于改善跨系統(tǒng)通訊時(shí)用戶產(chǎn)生的慢速的感覺。這個(gè)不細(xì)說了。 還有一個(gè)就是生成...
閱讀 2429·2021-11-11 11:01
閱讀 3303·2021-10-11 10:57
閱讀 2664·2021-09-30 09:46
閱讀 3504·2021-07-26 23:38
閱讀 1580·2019-08-29 12:22
閱讀 663·2019-08-29 11:28
閱讀 2366·2019-08-26 14:04
閱讀 3064·2019-08-23 18:34