标题的完整错误是:

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 编码。

解决办法

所以我们的解决办法是:

  1. 把表的结构记录下来(show create table django_migrations)
  2. 删除这张表
  3. 创建这张表
  4. 把 models.py 同步到数据库的步骤再操作一遍

完美解决!!!

注意:

可能有的人会说直接修改 django_migrations 的 name 字段的属性应该就可以了吧,我同事操作过,但可能因为之前已经写入了数据,所以并没有起到作用,因此,还是重新创建表来的方便。

感谢:

在此,感谢同事 张x 为此文提供的大力帮助!!!

Django报错之django.db.utils.InternalError: (1366, Incorrect string value: '\\xE7\\x94\\xA8相关推荐

  1. 数据库插入数据报错“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 ...

  2. 使用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 ...

  3. 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 ...

  4. 【程序报错】Caused by: java.sql.SQLException: Incorrect string value: '\xE9\x99\x90\xE6\x97\xB6...'

    问题发现 最近在开发中遇到了一个问题,就是插入记录的时候有个text类型字段的json一直报错,错误信息如下: 待插入的值为: jsonDetail: "[{"type" ...

  5. django报错:django.db.utils.OperationalError: no such table:

    no such table: 数据库中找不到表了,很奇怪的我已经做了migrate迁移了,但是数据库中还是没有生成表,后来找到问题所在, class Meta: managed = False 当ma ...

  6. 启动django服务器报错raise errorclass(errno, errval) django.db.utils.InternalError

    问题描述: 启动django服务器python manage.py runserver报错: raise errorclass(errno, errval) django.db.utils.Inter ...

  7. 报错 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 ' ...

  8. django报错:OperationalError: (1045, Access denied for user 'TEST'@'localhost' (using password: NO))

    在django创建表结构时报错:OperationalError: (1045, "Access denied for user 'TEST'@'localhost' (using pass ...

  9. 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. __ ...

最新文章

  1. 话里话外:论持续跟踪和及时反馈
  2. adminlte+layui框架搭建3 - layui弹出层
  3. 腾讯云+未来高峰对话:智能+时代的创新与探索
  4. WPF中的动画——(五)路径动画
  5. Dubbo搭建HelloWorld-搭建服务提供者与服务消费者并完成远程调用(附代码下载)
  6. 你如何去管理你的团队?
  7. 针对新手的Java EE7和Maven项目-第4部分-定义Ear模块
  8. Logistic Regression逻辑回归的损失函数与梯度下降训练
  9. 项目管理工程师:第二章信息系统服务管理
  10. “苹果正在走下神坛” | 畅言
  11. 前端性能监控方案window.performance 调研(转)
  12. I have no name !;sudo: unknown uid 1000: who are you?
  13. Matlab函数之lower函数与upper函数
  14. tf.nn.conv2d。卷积函数
  15. DNN深度神经网络、RBM受限玻尔兹曼机、DBN深度置信网络
  16. 新手如何快速学习单片机
  17. TCPUDP调试工具 Linux 版
  18. CATIA二次开发—漫谈开发环境
  19. 2022年起重机司机(限桥式起重机)考试题库模拟考试平台操作
  20. linux裁剪图片的软件,【美图秀秀Linux版】美图秀秀Linux版下载 v1.0.0.0 免费最新版-趣致软件园...

热门文章

  1. 【服务器管理】RTX2080ti显卡根据温度自动调整风扇速度
  2. Html页面head标签元素的意义和应用场景
  3. 网易云的招股书,递交了几分情怀?
  4. 百度有道雅虎的实习面试经历
  5. 保姆级Red Hat没有yum命令、报错This system is not registered to Red Hat Subscription Management.
  6. 「Win」Windows注册表介绍与操作
  7. 通告功能、公告、消息(站内短信)、通告 (建表思路与功用)
  8. Unity 武器的刀光剑影效果
  9. Python连接SQLserver
  10. 看看自己生活在哪个层次