django + mysql + UTF-8 - символы не отображаются - PullRequest
0 голосов
/ 18 декабря 2009

У меня оба, 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 |
+----+--------+------------------------------------------------------------------+-----------------------------+-----------------------------+---------------------+

сгенерированный исходный код выглядит так:

まいにちいっしょ

и отображается вот это: /

почему они не показывают символам путь в этой базе данных?

Ответы [ 3 ]

3 голосов
/ 18 декабря 2009

Этот исходный код, помещенный в пустой 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>&#12414;&#12356;&#12395;&#12385;&#12356;&#12387;&#12375;&#12423;</p>
  </body> 
</html>
0 голосов
/ 21 декабря 2009

проблема заключается в функции автозапуска django ... мой исходный код похож на тот, который Доминик вставил:

&#12414;&#12356;&#12395;&#12385;&#12356;&#12387;&#12375;&#12423;

Я просто поместил тэг в те места, где я знаю, что это могут быть некоторые символы:

{% autoescape off %}
xxxxx
{% endautoescape %}

и все работает как шарм ...: D

чем вы все

http://docs.djangoproject.com/en/dev/ref/templates/builtins/#autoescape

0 голосов
/ 19 декабря 2009

Как сказал Доминик, сгенерированный исходный код HTML верен (это ваши японские символы, переведенные в HTML-сущности), но мы не уверены, если вы увидите тот же код, отображаемый на странице (в данном случае вы вероятно, для content-type установлено значение "text/plain" вместо "text/html" - вы используете render_to_response() или HttpResponse() в соответствующем методе view.py?), или ваш японский отображается правильно, но вы просто не используете не нравится сущности в исходном коде.

Поскольку мы не знаем ваши настройки Django и как вы отображаете и возвращаете страницу, трудно предоставить вам решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...