我有两个,django和mysql设置为使用UTF-8。 我的base.html设置了utf-8。
我的数据库上的行:
+----+--------+------------------------------------------------------------------+-----------------------------+-----------------------------+---------------------+ | id | psn_id | name | publisher | developer | release_date | +----+--------+------------------------------------------------------------------+-----------------------------+-----------------------------+---------------------+ | 1 | 10945- | まいにちいっしょ | Sony Computer Entertainment | Sony Computer Entertainment | 2006-11-11 00:00:00 | +----+--------+------------------------------------------------------------------+-----------------------------+-----------------------------+---------------------+
生成的源代码如下:
まいにちいっしょ
这是显示的wat:/
为什么他们没有在这个数据库中显示字符?
答案 0 :(得分:3)
当源代码被置于一个空的HTML文档中时,在Google Chrome,IE和Firefox中对我来说就像这样:
まいにちいっしょ
这似乎是你想要的。
我唯一的想法是,这不是真正的源代码,而且你实际上得到了如下所示的源代码:
まいにちいっしょ
在这种情况下,你是HTML编码的东西,已经是HTML编码的。
如果情况并非如此,那我就不知道了。
我用来测试它的来源是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Foo</title>
</head>
<body>
<p>まいにちいっしょ</p>
</body>
</html>
答案 1 :(得分:0)
正如Dominic所说,生成的HTML源代码是正确的(这些是你的日文字符翻译成HTML实体),但我们不确定,如果你看到在页面中呈现相同的代码(在这种情况下,你可能已将content-type
设置为“text/plain
”而不是“text/html
” - 您是否在相应的view.py方法中使用render_to_response()
或HttpResponse()
?),或者您的日语被正确呈现,但您只是不喜欢源代码中的实体。
由于我们不知道您的Django设置以及如何呈现和返回页面,因此很难为您提供解决方案。
答案 2 :(得分:0)
まいにちいっしょ
我简单地将标签放在我所知道的地方,可能是一些差异:
{% autoescape off %} xxxxx {% endautoescape %}
一切都像魅力......:D
比你们所有人
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#autoescape