7

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

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

  2. 将数据以utf-8形式存储在mysql中

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

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

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

非常感谢。

4

1 回答 1

26

这里有一些建议:

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

CREATE DATABASE <dbname> CHARACTER SET utf8;

文档

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

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

关于 python 和 utf8 的好文章

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

unicodeString = u"hello Unicode world!"

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
于 2012-04-08T10:42:15.973 回答