Django报错之django.db.utils.InternalError: (1366, Incorrect string value: '\\xE7\\x94\\xA8
标题的完整错误是:
django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE7\\x94\\xA8\\xE6\\x88\\xB7...' for column 'name' at row 1")
如果你在使用 Django 的时候 使用如下命令:
python3 manage.py migrate
的时候遇上这个错误,那么其他打开的博客都可以关掉了!!!
看这篇,完美解决你的问题。
昨天创建了一个 models 然后同步到 MySQL 的时候报了这个错误,网上一搜博客,大体有如下几种解决办法:
1、删除数据库,重新创建数据库的时候指定数据库的编码格式为 utf8
2、在 Django 的 settings.py 文件中的 database 地方添加 test 和 options 模块,里面指定utf8
3、在 Ubuntu 的 MySQL conf 文件地方设置相关参数
4、删除models.py 中的中文字符
以上几种方法来来回回折腾了好几回,然而,并没有什么卵用!!!
气得我重新开了个项目,手把手把东西都恢复过来。
第二天,和同事说了这个问题,他搞了搞,然后沿着一路的轨迹终于找到了解决办法,问题出在 Django 连接的数据库的
django_migrations 表。
我们每次使用 python3 manage.py makemigrations app_name 之后,都会在相应 app 下的 migrations 文件中创建 py 脚本,这些脚本的作用就是用来同步到数据库的。
而 django_migrations 这张表的作用则是记录这些脚本的文件名。
而我们的报错提示里的 name 字段就是来自于这张表。
当我们查看这张表的结构可以发现,这张表的 name 字段的字符设置其实并不是 utf8 编码。
解决办法
所以我们的解决办法是:
- 把表的结构记录下来(show create table django_migrations)
- 删除这张表
- 创建这张表
- 把 models.py 同步到数据库的步骤再操作一遍
完美解决!!!
注意:
可能有的人会说直接修改 django_migrations 的 name 字段的属性应该就可以了吧,我同事操作过,但可能因为之前已经写入了数据,所以并没有起到作用,因此,还是重新创建表来的方便。
感谢:
在此,感谢同事 张x 为此文提供的大力帮助!!!
Django报错之django.db.utils.InternalError: (1366, Incorrect string value: '\\xE7\\x94\\xA8相关推荐
- 数据库插入数据报错“1366 - Incorrect string value: ‘\xE7\x94\xB7‘ for column ‘sex‘ at row 1”
1366 - Incorrect string value: '\xE7\x94\xB7' for column 'sex' at row 1 1.打开设计表,将该列表的字符集 改为"utf ...
- 使用DataGrip编写SQL语句时出现此报错:“ Incorrect string value: ‘\xE7\x94\xB7‘ for column ‘xx‘ at row x”
使用DataGrip编写SQL语句时出现以下错误: Incorrect string value(字符串值不正确): '\xE7\x94\xB7' for column 'gender' at row ...
- Navicat for Mysql数据导入时报错1366 - Incorrect string value: ‘\xE7\x90\xAD‘ for column ‘xx‘ at row xx
在 Navicat for Mysql 进行数据导入时 报错1366 - Incorrect string value: '\xE7\x90\xAD' for column 'xx' at row x ...
- 【程序报错】Caused by: java.sql.SQLException: Incorrect string value: '\xE9\x99\x90\xE6\x97\xB6...'
问题发现 最近在开发中遇到了一个问题,就是插入记录的时候有个text类型字段的json一直报错,错误信息如下: 待插入的值为: jsonDetail: "[{"type" ...
- django报错:django.db.utils.OperationalError: no such table:
no such table: 数据库中找不到表了,很奇怪的我已经做了migrate迁移了,但是数据库中还是没有生成表,后来找到问题所在, class Meta: managed = False 当ma ...
- 启动django服务器报错raise errorclass(errno, errval) django.db.utils.InternalError
问题描述: 启动django服务器python manage.py runserver报错: raise errorclass(errno, errval) django.db.utils.Inter ...
- 报错 General error: 1366 Incorrect string value: ‘\xF0\x9F\x8D\x83‘ for column ‘per_name‘ at row 1
插入数据报错: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x8D\x83' for column ' ...
- django报错:OperationalError: (1045, Access denied for user 'TEST'@'localhost' (using password: NO))
在django创建表结构时报错:OperationalError: (1045, "Access denied for user 'TEST'@'localhost' (using pass ...
- Django报错 ValueError: The view didn‘t return an HttpResponse object. It returned None instead.
Django报错 ValueError: The view *** didn't return an HttpResponse object. It returned None instead. __ ...
最新文章
- 话里话外:论持续跟踪和及时反馈
- adminlte+layui框架搭建3 - layui弹出层
- 腾讯云+未来高峰对话:智能+时代的创新与探索
- WPF中的动画——(五)路径动画
- Dubbo搭建HelloWorld-搭建服务提供者与服务消费者并完成远程调用(附代码下载)
- 你如何去管理你的团队?
- 针对新手的Java EE7和Maven项目-第4部分-定义Ear模块
- Logistic Regression逻辑回归的损失函数与梯度下降训练
- 项目管理工程师:第二章信息系统服务管理
- “苹果正在走下神坛” | 畅言
- 前端性能监控方案window.performance 调研(转)
- I have no name !;sudo: unknown uid 1000: who are you?
- Matlab函数之lower函数与upper函数
- tf.nn.conv2d。卷积函数
- DNN深度神经网络、RBM受限玻尔兹曼机、DBN深度置信网络
- 新手如何快速学习单片机
- TCPUDP调试工具 Linux 版
- CATIA二次开发—漫谈开发环境
- 2022年起重机司机(限桥式起重机)考试题库模拟考试平台操作
- linux裁剪图片的软件,【美图秀秀Linux版】美图秀秀Linux版下载 v1.0.0.0 免费最新版-趣致软件园...