摘要:項目開發過程中,碰到了多種情況下的中文亂碼報錯,在這兒做一下處理總結。
django項目開發過程中,碰到了多種情況下的中文亂碼報錯,在這兒做一下處理總結。
報錯:UnicodeEncodeError: "ascii" codec can"t encode characters in position x-x: ordinal not in range(128)
django項目的.py文件文件中加入了中文注釋,經常會因此報錯而導致無法運行,究其原因是編碼的問題,最后的解決辦法是直接在有中文注釋的.py文件的頂部加上:
# -*-coding:utf-8 -*-2.運行過程中的中文亂碼的報錯
首先確保連接的數據庫的基礎設置是utf-8:
然后確認django項目中的網頁頭部設置編碼為utf-8,網頁頭部加上代碼:
最后仍然報錯就是因為django項目中我們沒有指明編碼方式,所以按照默認設置來,而非正常的utf-8,為:
所以項目最后需要在進行編碼操作的地方,或者直接在settings.py中加入:
import sys reload(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項目上傳中文名文件無誤。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40984.html
摘要:中國人民看到這樣很不錯,于是就把這種漢字方案叫做。結果擴展之后的編碼方案被稱為標準,包括了的所有內容,同時又增加了近個新的漢字包括繁體字和符號。 聲明:文章借鑒自【徹底搞懂 python 中文亂碼問題】 一. 各種編碼的由來 1.1 ASCII編碼 很久很久以前,有一群人,他們決定用8個可以開合的晶體管來組合成不同的狀態,以表示世界上的萬物。他們看到8個開關狀態是好的,于是他們把這稱為...
摘要:之前在寫一個簡單的分班程序的時候,使用如下命令行讀取文件出現了報錯含義為程序由于文件編碼問題無法讀取文件。該行聲明了該程序讀取文件的編碼格式為。如仍報錯,可使用方法二解決。第二種使用命令,修改后文件出現亂碼。 注:該文章基于mac環境。 之前在寫一個簡單的分班程序的時候,使用如下命令行讀取csv文件, with open(city.csv) as f: lines = f.re...
摘要:在里,流式響應是個好東西可以快速節省內存地產生一個大型文件。目前項目里用于流式響應的一個是,用于改善跨系統通訊時用戶產生的慢速的感覺。 在Django里,流式響應StreamingHttpResponse是個好東西,可以快速、節省內存地產生一個大型文件。 目前項目里用于流式響應的一個是Eventsource,用于改善跨系統通訊時用戶產生的慢速的感覺。這個不細說了。 還有一個就是生成...
閱讀 2422·2021-11-11 11:01
閱讀 3296·2021-10-11 10:57
閱讀 2656·2021-09-30 09:46
閱讀 3497·2021-07-26 23:38
閱讀 1574·2019-08-29 12:22
閱讀 655·2019-08-29 11:28
閱讀 2359·2019-08-26 14:04
閱讀 3059·2019-08-23 18:34