我目前正在为我们的图书管理员开发一个报告应用程序(使用Django编写),以解决某些实验室的一些问题(我在一所大学工作)。为此,我创建了一个页面,列出了所有有问题的实验室。我在测试添加注释,这非常有效。除了UTF8字符。我还不知道这个过程的哪一部分失败了。在
问题:。在
这是我的个人“回溯”:
LANG
是en_US.UTF-8
python manage.py shell_plus
添加了注释(annotation.text = u'2ème commentaire'
)DEFAULT_CHARSET="utf-8"
,没有任何更改。在character_set_database
是utf8
。一个SELECT
显示正确的文本。在direct_to_template
。在<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
设置,我用{{ annotation.text|escape }}
打印注释。在问题似乎出现在第5-6步,但我不知道如何抓住它,很明显,如何纠正它。你知道吗?在
谢谢
PS:如果你想的话,我可以提供更多的代码,但这更容易让你困惑(因为我觉得数据库结构有点奇怪)。在
回答 (由于我的重复次数不到10次,我暂时无法回答自己的问题,所以我把答案贴在下面。)
我终于找到了答案!在
In [13]: annotation.text
Out[13]: u'2\xc3\xa8me commentaire'
In [14]: annotation.text = '2ème commentaire'
In [15]: annotation.save()
In [16]: annotation.text
Out[16]: '2\xc3\xa8me commentaire'
显然,表示字符串是UTF-8格式的“u”是一种“过度杀戮”。有两种方法可以将同一个字符编码为UTF-8(如果我正确理解我所读的内容):
^{pr2}$我只是选择了两者的混合,然后。。。好吧,那是错的。在
无论如何,谢谢你的回答!在
你的模板(HTML文件本身)是用UTF-8编码的吗?在
相关问题 更多 >
编程相关推荐