django save中文抛出waring: Incorrect string value
Django的ORM对象存储中文的时候waring: Incorrect string value:'\xc2\xe4\xc2\xe4" for ...
解决方法:
1、修改mysql/bin/my.ini(有的版本是mysql/my.cnf)
1>找到客户端配置[client] 在下面添加
default-character-set=utf8
2>在找到[mysqld] 添加
default-character-set=utf8
init_connect='SET NAMES utf8'
#(设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
3>找到[mysql] 添加
default-character-set=utf8
2、删除已有的数据表,然后重新创建使用"manage.py syncdb"创建表(如果数据不多的话,这里推荐直接删除数据库,然后重新建同名数据库)。
3、完成。
原理:中文乱码或出错
Django默认使用UTF-8字符,mysql默认使用litan1字符集。我们需要修改my.ini(my.conf),配置default-charset,然后重建数据库。就可以使用中文了!
PS:参考FAQ中的Admin错误。