如何在Django中解决UnicodeDecodeError?

时间:2012-03-17 01:13:05

标签: python django encoding

我在Django中收到此错误:

 UnicodeDecodeError at /category/list/

 'utf8' codec can't decode byte 0xf5 in position 7: invalid start byte

 Request Method:    GET
 Request URL: ...
 Django Version:    1.3.1
 Exception Type:    UnicodeDecodeError
 Exception Value:   

 'utf8' codec can't decode byte 0xf5 in position 7: invalid start byte

 Exception Location:                       /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py in iterencode, line 264
 ...

我应该在数据库中保存土耳其语字符。我该如何解决这个错误?

3 个答案:

答案 0 :(得分:4)

0xf5的起始字节表示4字符UTF-8编码的开始。一个很有可能的是输入不是UTF-8,而是土耳其ISO编码ISO-8859-9。在该代码页上,0xf5是一个带有波浪号或õ的小写o。

答案 1 :(得分:1)

下面的代码解决了我的问题。谢谢。

if isinstance(encObject, unicode):
                           myStr = encObject.encode('utf-8')   

答案 2 :(得分:0)

http://www.fileformat.info/info/unicode/char/f5/index.htm

它是一个带有波浪号的o

尝试

some_string.decode('latin1','replace')