django test数据库乱码
2015-10-08 17:06
246 查看
问题描述
在django项目中添加test测试,出现数据库乱码的现象,报错:SyncError: (1366, "Incorrect string value: '\\xE9\\x85\\x92\\xE5\\xBA\\x97' for column 'organization' at row 1")
其中organization这个字段加入了中文,导致乱码
分析
问题原因在于test生成的临时数据库默认不是utf8,不支持中文,导致错误。尝试过修改项目数据库的字符编码,并没有效果,因为test使用的数据库数据是临时生成的,并不适用项目配置的数据库
解决方法
在settings.py中添加对database的描述,设置字符编码默认设置如下:
[code]'TEST_CHARSET': 'utf8', 'TEST_COLLATION': 'utf8_general_ci',
比如一个项目中database设置:
[code]DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'yourname', 'USER': 'youruser', 'PASSWORD': 'youpsd', 'HOST': '127.0.0.1', 'PORT': 'yourport', 'TEST_CHARSET': 'utf8', 'TEST_COLLATION': 'utf8_general_ci', } }
参考:
https://docs.djangoproject.com/en/1.7/ref/settings/
http://blog.csdn.net/shanliangliuxing/article/details/9119649
相关文章推荐
- Redis配置文件详解
- (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
- Jdbc--实现对数据库的查询,更改,删除,添加等方法
- Oracle 12.1.0.1 RAC + DG搭建
- mysql event 学习备注
- oracle所有用户都被锁定之后解决办法
- mysql备份和还原
- Oracle express启用scott用户
- mysql 安装
- Tomcat7+Redis存储Session
- MySQL学习笔记-源码安装及配置
- 【SQL】全关系操作
- ant+dbunit 导xml到mysql
- mysql5.6 win 安装 卸载总结
- oracle listener 服务启动后关闭
- Hibernate通过SQL查询常量时只能返回第一个字符的解决方法
- Hibernate通过SQL查询常量时只能返回第一个字符的解决方法
- sql查询中datetime显示的格式为yyyy-DD-mm
- 通过hibernate API编写访问数据库的代码
- oracle的乐观锁和悲观锁