django.contrib.admin 管理模块中添加中文记录出错说明.
django.contrib.admin 管理模块中添加中文记录出错说明.
From :http://www.selfcai.com.cn/?p=482
查看官方文档.确认是数据库编码问题:
http://docs.djangoproject.com/en/1.1/ref/settings/#setting-DEFAULT_CHARSET
1.查看本机mysql 数据库的default编码方式
mysql> show variables like ‘%server%’;
+———————-+——————-+
| Variable_name | Value |
+———————-+——————-+
| character_set_server | latin1 |
| collation_server | latin1_swedish_ci |
| server_id | 0 |
+———————-+——————-+
3 rows in set (0.00 sec)
2.而django 则采用UTF-8 ,数据插入后,编码不一致,造成添加出错.
DEFAULT_CHARSET
Default: ‘utf-8′
Default charset to use for all HttpResponse objects, if a MIME type isn’t manually specified. Used with DEFAULT_CONTENT_TYPE to construct the Content-Type header.
解决方法:
新建数据库以UTF-8编码
CREATE DATABASE `django` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
当然也可以用phpmyadmin来操作.