2012-07-08 15 views
3

Unicode字符在該網址:有例如URL

لیست مقالات部分
(r'^company/لیست-مقالات/$','CompanyHub.views.docList') 

我有Unicode字符,但我得到這個錯誤:

Caught UnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xd9 in position 0: ordinal not in range(128) 
+0

請看這裏:http://bit.ly/unipain – Daenyth 2012-07-08 16:00:19

回答

2

你需要把一個u前面r之前的字符串,或者用unicode方法包裝它:

有關更多信息,請參閱this

Unicode strings are much like strings, but are specified in the syntax using a preceding 'u' character: u'abc', u"def".

http://docs.python.org/library/stdtypes.html

1

首先,使用非ASCII字符串中的字符在Python文字,你需要在你的源文件,例如頂部指定一個字符編碼:

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

二,如果你pass a Unicode string to django它通常自己做正確的事情。在這種情況下,它應該轉換URL中的所有非ASCII字符。如果不是,那麼你可以明確地呼叫django.utils.encoding.iri_to_uri()