【问题标题】:Django and MySQL utf8 encoding issueDjango 和 MySQL utf8 编码问题
【发布时间】:2012-02-21 04:37:08
【问题描述】:

我有一个使用 UTF-8 字符集编码的数据库。当我使用 shell 提示符运行 mysql 并从表中选择行时,我可以很好地看到字符(Frédéric Bélier)。但是,当运行我的 django 项目并在浏览器中查看页面时,该字段显示为 Frédéric Bélier。 HTML 页面作为 UTF-8 的字符集元标记。

在 Gedit 中打开我的视图文件(和模板文件)时,我看到字符集也设置为 UTF-8。但是,当我运行file -i views.py 时,输出为views.py: text/x-java; charset=us-ascii / ASCII Java program text, with CRLF line terminators

关于什么是错误的以及如何修复它的任何建议?

【问题讨论】:

  • 您是否检查了您的设置。DEFAULT_CHARSET?
  • 添加“# -- coding: utf-8 --”会改变什么吗?
  • Django+MySQL:如何修复 Unicode(又名神秘问号) - 标准偏差 -> parand.com/say/index.php/2008/06/11/…
  • 我不认为你的 *.py 文件的编码与它有任何关系。
  • settings.DEFAULT_CHARSET 设置为 utf-8,我尝试添加“# -- coding: utf-8 --”,但没有多大成功...... @Efazati - 我已经配置了这些设置正确,如该帖子所示。

标签: django utf-8 character-encoding


【解决方案1】:

我不是 Django 专家,但可能与

  1. HTTP 标头或文档标头

  2. 一个 Django 配置。在 Python 中,字符串不一定是 unicode(例如,与 .NET 不同)

我的直觉告诉我,这 2 是可能的情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-09
    • 2014-12-17
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多