前提:

使用Django自带的test进行单元测试。

问题描述:

运行:python manage.py test,报错,出现数据库乱码的现象,报错如下:

Creating test database for alias 'default'...

Got an error creating the test database: (1007, u"Can't create database 'test_yd_zy_bank'; database exists")

Type 'yes' if you would like to try deleting the test database 'test_yd_zy_bank', or 'no' to cancel: yes

Destroying old test database 'default'...

(1366, u"Incorrect string value: '\\xE7\\xA4\\xBA\\xE4\\xBE\\x8B...' for column 'func_name' at row 1")

.............

django.db.utils.InternalError: (1366, u"Incorrect string value: '\\xE5\\x8A\\x9F\\xE8\\x83\\xBD...' for column 'name' at row 1")

其中name字段加入了中文,导致乱码。

错误分析:

test生成的临时数据库默认不是utf8,不支持中文,导致错误。尝试过修改项目数据库的字符编码,并没有效果,因为test使用的数据库数据是临时生成的,并不适用项目配置的数据库

解决办法:

在settings.py中添加对database的描述,设置字符编码默认设置:

'TEST_CHARSET': 'utf8',
'TEST_COLLATION': 'utf8_general_ci',

最后改完如下:

最后,再次运行python manage.py test,成功。

补充 :自定义测试数据库名字时的配置如下

转载于:https://www.cnblogs.com/wangyingblock/p/10620883.html

python+Django+test 测试数据库生成报错相关推荐

  1. Django开发中问题和报错集合

    记录django项目开发过程中的遇到的问题,导致原因和已经奏效的解决方法 常见报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in ...

  2. ubuntu18.04安装python的mysqlclient==1.4.6报错ERROR Command errored out with exit status 1python setup

    安装python的mysqlclient==1.4.6报错 环境: ubuntu18.04 python 3.7.2 Django 2.2 想要使用Django来操作MySQL,报错: LookupE ...

  3. python下载第三方库的时候报错ERROR: Command errored out with exit status 1: python setup.py egg_info Check the

    python下载第三方库的时候报错ERROR: Command errored out with exit status 1: python setup.py egg_info Check the l ...

  4. MySQL数据库重启报错“the server quit without updating PID file”处理方法

    事情起因: 正在如火如荼的测试本公司自研的系统(上班不摸鱼那不是那啥啥嘛...哈哈哈),咳咳咳,进入正题,突然部分界面提示"操作失败,请联系管理员".查看系统日志结果如下 提示打开 ...

  5. Python 使用xlrd读Excel文件报错

    Python 使用xlrd读Excel文件报错:XLRDError: Unsupported format, or corrupt file: Expected BOF record; found ' ...

  6. 已解决Python pandas.read_excel读取Excel文件报错

    已解决(Python pandas.read_excel读取Excel文件报错)io = ExcelFile(io,storage_options=storage.options, engine=en ...

  7. win10安装MySQL数据库和MyServer数据库及其报错记录

    锚点: Win10装MySQL数据库及报错记录 Win10装MySever数据库及报错记录 <----------------分 隔 符----------------> Win10装My ...

  8. mysql的groupby原理是啥_mysql数据库groupby报错原理是什么?

    mysql数据库groupby报错原理是什么? 八一xiaobayi 2020-03-18 09:05:04 mysql> select count(9),floor(rand(0)*2) as ...

  9. SQL数据库挂起 SQL数据库附加报错 SQL数据库824错误修复

    SQL数据库挂起 SQL数据库附加报错 SQL数据库824错误修复 数据类型 MSSQL 2012 数据大小 4.5 GB 故障检测 附加数据库提示824错误 一般是由于断电非法关机导致页面损坏. 客 ...

  10. 数据库startup报错_SQL Server数据库恢复过程内部–数据库STARTUP命令

    数据库startup报错 A database recovery process is an essential requirement for database systems, It can be ...

最新文章

  1. Java中类、常量、变量、方法名等命名规则
  2. mysql主键约束和唯一性约束
  3. 硅谷顶级VC:“S曲线”看四大风口,创企成功机会巨大
  4. MySQL 如何优化 CPU 消耗?
  5. PowerDesigner导入SQL生成数据模型
  6. Docker可视化工具portainer的安装与使用
  7. svd奇异值分解_NCL专辑 | 奇异值分解(SVD)
  8. visual studio 2010常用快捷键
  9. mysqld.exe已停止工作_win7一直弹出DrUpdate.exe已经停止工作的解决方法
  10. Hi,Let's Get Started,Mr Qu
  11. Gateway配合sentinel自定义限流_使用Sentinel实现gateway网关及服务接口限流
  12. acm杭州电子科技大学新生赛
  13. 帮助两家基金公司运营蚂蚁财富号以后,PINTEC总结了一些经验
  14. 理解条件随机场(转)
  15. 比特率和波特率的公式解析
  16. 蓝牙原理—Radio射频协议
  17. 形式化验证和功能验证VC Formal-synopsys芯片验证基础篇(六)
  18. 学习GIT的一个小游戏
  19. 洛谷P3352 [ZJOI2016]线段树
  20. 强化学习理论基础(MDP、值函数与贝尔曼公式以及表格式Agent)

热门文章

  1. Python使用datetime来判断近七天
  2. JavaWeb--HttpSession案例
  3. C和C++中的计时器
  4. WIN7、WIN8 右键在目录当前打开命令行Cmd窗口(图文)
  5. 【笔记】定积分的近似计算
  6. 我碰到的到现在为止,还没有找到比较好的解决方法的sps问题
  7. 2019牛客多校第二场E MAZE(线段树 + 矩阵)题解
  8. [充电]Code Review
  9. 畅通工程(hdu1863)并查集
  10. bind2nd的注意事项 zz