我宣布:
#This file is using encoding:utf-8 ... class Buddy(models.Model): name=models.CharField('???',max_length=200) ...
...在models.py中.manage.py syncdb运行顺畅.然而,当我去管理界面并尝试添加一个新的Buddy时,我抓住了一个DjangoUnicodeDecodeError,它说:"'utf8'编解码器无法解码位置0-1中的字节:无效数据.你传入'\ xd4\xc8\xce'( 我正在使用sqlite3,因此所有字符串都存储为utf8编码的字节串.Django的编码也是utf8.看到django关于这个话题的文档,不知道. UPD:最终我弄清楚问题是什么.结果是我用ANSI编码保存了我的源代码. 解决方案:我用UTF-8保存了源代码,它创造了奇迹. 首先,我将显式定义为Unicode字符串: 注意'u' 其次,您是否
1> Daniel Naab..:class Buddy(models.Model):
name=models.CharField(u'???',max_len)
u'???'
.__unicode__()
在模型上定义了功能?如果是这样,请确保它返回Unicode字符串.当Admin界面尝试访问模型的unicode表示时,很可能会出现此错误,而不是在将其添加到数据库时.如果您从中返回非unicode字符串__unicode__()
,则可能会导致此问题.