如何设置django和mysql使用UTF-8

时间:2012-04-08 09:37:35

标签: mysql django utf-8

我想将我的Django / mysql站点设置为使用UTF-8。请指导我在django和mysql中进行的更改,以确保以下内容。

  1. 表单中用户输入的数据将始终编码为UTF-8

  2. 将数据存储在mysql中,格式为utf-8

  3. 正确显示模板中的utf8编码数据

  4. 此外,我想知道转移到UTF-8编码是否会删除unicode解码错误,如下所示。

  5.   

    UnicodeDecodeError:'ascii'编解码器无法解码位置55的字节0xc2:序数不在范围内(128)

    非常感谢。

1 个答案:

答案 0 :(得分:23)

这里有一些建议:

1)创建数据库时使用utf8编码

CREATE DATABASE <dbname> CHARACTER SET utf8;

docs

2)将以下特殊注释放在脚本的第一行或第二行:

# -*- coding: utf-8 -*-

nice article about python and utf8

3)在* .py文件中使用带有u前缀的unicode字符串

unicodeString = u"hello Unicode world!"

4)在基本模板的部分中使用以下元标记:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">