首页 > 数据库 >Django迁移数据库编码错误

Django迁移数据库编码错误

时间:2023-06-04 12:13:14浏览次数:45  
标签:编码 数据库 system Django blog mysql 迁移

mysql编码错误

image-20230604115322661

问题出现在用django的admin组件向数据库添加数据时发生的编码错误(1366, "Incorrect string value: '\\xE5\\x8D\\x83\\xE7\\x89\\x9B...' for column 'title' at row 1")

以为django可以进行数据库的迁移,但是你还是要去手动在mysql中创建一个数据库名,所以在创建的时候没有设定编码格式的话,默认编码格式是latin1

mysql> show create database blog_system;
+-------------+------------------------------------------------------------------------+
| Database    | Create Database                                                        |
+-------------+------------------------------------------------------------------------+
| blog_system | CREATE DATABASE `blog_system` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+-------------+------------------------------------------------------------------------+
1 row in set (0.01 sec)

所以解决办法当然是把这个改成utf-8方式就对了。运行命令是: alter database blog_system default character set utf8 collate utf8_general_ci;

但是!其实你现在改完,还要删掉每一个table然后再进行重新的迁移,那不如直接删库跑路~,直接重新开一个库,然后再迁移就省事一点,过程如下:

1. 新建数据库

新建一个数据库,然后迁移之前修改好编码方式

image-20230604115337501

2. 迁移数据库

image-20230604115351233

3. 用django的admin组件重新添加信息

image-20230604115413624

这下就可以了%

标签:编码,数据库,system,Django,blog,mysql,迁移
From: https://www.cnblogs.com/ivanlee717/p/17455468.html

相关文章

  • 前置知识:字符集之UTF-8编码
        ......
  • 6 月数据库排排名稳定,你喜欢的数据都在这里
    DB-EnginesRanking会根据受欢迎程度对数据库管理系统进行排名,排名每月更新一次。六月数据显示,对比上月排名,前十依旧保持不变,按顺序依次是:Oracle、MySQL、MicrosoftSQLServer、PostgreSQL、MongoDB、Redis、IBMDb2、Elasticsearch、SQLite、MicrosoftAccess。但前十亦有......
  • 使用Django创建一个项目
    ......
  • pongo2 类似django 语法的golang 模版引擎
    pongo2类似django语法的golang模版引擎,当前兼容django1.7同时还包含了强大的三方生态支持(比如beego,gin,echo框架。。。)参考使用main.gopackagemainimport("fmt""log""github.com/flosch/pongo2/v6")funcmain(){tpl,err:=pongo2.FromFile("message.tpl"......
  • Oracle 12c/19c PDB数据库配置自动启动
    Oracle12c/19cPDB数据库配置自动启动在Oracle12c/19c多租户环境中,默认情况下,使用startup命令启动数据库实例后,你会发现PDB数据库的状态为MOUNT状态,PDB不会随着CDB启动而启动。如下例子所示:SQL>startupORACLEinstancestarted.TotalSystemGlobalArea2432695872by......
  • 在数据库中,如何将时间戳转换成相应的年,月,日
    在软件开发过程中,我们会经常用到数据库,但是每个数据库之间都用各自的特点! 一、MYSQL在MySQL数据库中,可以使用DATE_FORMAT函数将时间戳转换为指定格式的日期字符串,并再使用相关函数将其转换为年份或月份。具体方法如下:转换成年份使用以下SQL语句将时间戳字段order_date转换......
  • MySQL数据库复制技术2
    一:复制的概念。    可能很多人认为,复制很简单就是把之前的数据直接转移到新的数据库当中不就是复制吗。但是在MySQL数据库中:复制指的就是复制一个服务器上(称为主节点服务器或者简称主节点)的所有改变到另一个服务器(称为从节点服务器或简称从节点)。复制通常用来创建主节点的一......
  • ORM操作数据库
    1. 创建数据库  40讲解 MyBatis 框架,读写 MySQL 数据。通过 SpringBoot +MyBatis 实现对数据库学生表的查询操作。数据库参考:springboot.sql 脚本文件创建数据库:数据库 springboot,指定数据库字符编码为 utf-8插入数据2. 使用步骤:41使用MyBatis框架操作数据,  在Spri......
  • JAVA的springboot+vue医疗预约服务管理信息系统,医院预约管理系统,附源码+数据库+论文+P
    1、项目介绍会员制医疗预约服务管理信息系统是针对会员制医疗预约服务管理方面必不可少的一个部分。在会员制医疗预约服务管理的整个过程中,会员制医疗预约服务管理系统担负着最重要的角色。为满足如今日益复杂的管理需求,各类的管理系统也在不断改进。本课题所设计的是会员制医疗......
  • 数据库应用2023-06-03 触发器
    Mysql触发器实例详解-Mr_Echo-博客园(cnblogs.com)CREATETRIGGERtrigger_nametrigger_timetrigger_eventONtb_nameFOREACHROWtrigger_stmttrigger_name:触发器的名称tirgger_time:触发时机,为BEFORE或者AFTERtrigger_event:触发事件,为INSERT、DELETE或者UPDATEtb_......