django admin–mysql 编码问题报错

重新restore了mysql到另一台机器上,今天新写了一个app,发现在admin界面下一添加汉字就会报错如下:

Warning at /admin/assets/add/
Incorrect string value: '\xE5\x93\x88\xD5\x92\x88...' for column 'Name' at row 1
Request Method:	POST
Request URL:	http://127.0.0.1:8000/admin/assets/add/
Django Version:	1.2.3
Exception Type:	Warning
Exception Value:	
Incorrect string value: '\xE5\x93\x88\xD5\x92\x88...' for column 'Name' at row 1
Exception Location:	/usr/lib/pymodules/python2.7.1/MySQLdb/cursors.py in _warning_check, line 82
Python Executable:	/usr/bin/python
Python Version:	2.7.1

初步判断 应该是mysql的问题 [代研究本质问题]:

在my.ini 添加如下:

[client]

character-set-client = utf8
default-character-set = utf8

[mysqld]

character-set-server = utf8
character-set-filesystem = utf8[mysql]
init_connect='SET NAMES utf8'

[mysql]

default-character-set=utf8

重启mysql服务器,问题解决。

 

-------------------------------------------------------------------------------------

 

查看创建mysql数据库的默认编码:

show create database db_name;

更改已经创建的db的编码:

alter database db_name character set utf8 collate utf8_general_ci;

查看数据库相关信息:

mysql>status

查看数据库相关信息2:

mysql> show variables like’char%’;
posted @ 2011-12-16 17:27  ccmao  阅读(854)  评论(0编辑  收藏  举报