2013-03-01 24 views
2

我試圖像URL或www.mysite.com/blog/category/πρακτικα/時www.mysite.com/blog/πρακτικα/得到一個統一的錯誤Django的夾層的Unicode錯誤

,但我不明白的錯誤時在> 58-65位置試圖www.mysite.com/blog/tag/πρακτικα/

UnicodeEncodeError在/博客/類別/πρακτικα/「拉丁-1」編解碼器無法編碼的字符:順序不在範圍內(256) 異常位置:/home/vagrant/sullogos-venv/local/lib/python2.7/site-packages/django/template/loaders/filesystem.py in load_template_source,第37行

似乎它在分類和標籤處

回答

0

富人不同的行爲不同的是,類別可以有一個自定義模板和標籤不能。因此,在類別情況下,使用類別slug搜索模板名稱 - 您得到的錯誤是由於配置錯誤的語言環境不支持utf8。

+1

感謝您的回答。但我不明白我必須改變才能使其工作。 – KleKoR 2013-03-08 12:28:43

0

這不是Mezzanine或Django的問題,而是用於部署它們的環境。有關更多詳細信息,請參閱this issuethis documentation。 Python不足以支持特定的語言環境,但Web服務器也必須能夠正確處理Unicode文件。

如何解決它將取決於使用的網絡服務器。例如,如果您使用的是Apache,則需要將LANGLC_ALL設置爲與Unicode兼容的值(在* NIX系統中,至少應該在/etc/apache2/envvars處找到它們)。一個例子是:

export LANG='en_US.UTF-8' 
export LC_ALL='en_US.UTF-8' 

隨意更換另外一個更適合您需要的語言/國家代碼(我用pt_BR代替en_US和事物對我來說工作得很好)。從您看到的錯誤消息中,系統中的這些設置可能使用ISO-Latin(ISO-8859-1)而不是UTF-8(我認爲它不能處理西里爾文)。

如果您使用的是其他網絡服務器,請查看其關於本地化/國際化的文檔,以查看需要更改的內容。據我所知,重要的是提供對Unicode文件名稱的支持。