分析:

1.尝试在Python中对数据转码成utf8,'中文'.encode("utf-8"),还是报错

2.观察堆栈发现应该是操作mysql数据库的时候,将数据插入表里出错

所以第一种方式排除;集中从第二种原因找突破:

在mysql中查看字符相关的变量:

发现character_set_database 编码是latin1不是utf8,问题应该就在这里。

那我们现在就要把这个字符改过来。

这里注意:你们其他变量名的值也不是utf8,这里是你们my.ini配置文件里没有设置,mysql就用的是默认值

[client]

default-character-set =utf8

[mysql]

default-character-set =utf8

[mysqld]

collation-server = utf8_unicode_ci
init_connect ='SET NAMES utf8'
character_set_server=utf8

其中:

init_connect ='SET NAMES utf8' 相当于把charact_set_client ,character_set_server,character_set_connection都设置成utf8了,我怕到时又出啥问题就没去掉了。

我也尝试了在[mysqld]下

添加:character_set_database =utf8 可是启动mysql服务的时候报错。查找资料跟mysql的版本有问题,我mysql的版本是5.6.*

那就只有通过mysql的命令去修改编码了:

set character_set_database=utf8;

在查看的时候编码就修改了

再次测试代码后发现还是有问题。

然后查看了下django连接的数据库,以及生成的表的编码发现编码不是utf8,所以这里还要修改数据库,表的编码

a)查看数据库的编码:show create database databaseName;
b)修改数据库编码: alter database databaseName default character set utf8 collate utf8_general_ci;
a)查看建表的编码:show create table tableName;

修改后查看编码都已经是utf8了应该不会有错了。果然测试可以了。

下面附上mysql的一些相关命令:

通过MySQL命令行修改:
  set character_set_client=utf8;
  set character_set_connection=utf8;
  set character_set_database=utf8;
  set character_set_results=utf8;
  set character_set_server=utf8;
  set character_set_system=utf8;
  set collation_connection=utf8;
  set collation_database=utf8;
  set collation_server=utf8;
修改数据库字符集:
     ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
     如:
     ALTER TABLE test CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
     修改表的默认字符集:
     ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
     如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
     修改字段的字符集:
     ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
     如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

django 保存中文到mysql 报错django.db.utils.DatabaseError: Incorrect string value: '\xE5\xBE\x88\xE7\x81\xB5的更多相关文章

  1. mysql报错:java.sql.SQLException: Incorrect string value: '\xE4\xB8\x80\xE6\xAC\xA1...' for column 'excelName' at row 1

    一.问题 用Eclipse做项目时候报错 java.sql.SQLException: Incorrect string value: '\xE4\xB8\x80\xE6\xAC\xA1...' fo ...

  2. mysql插入报错:java.sql.SQLException: Incorrect string value: '\xE6\x9D\xAD\xE5\xB7\x9E...' for column 'address' at row 1

    界面报错: 日志报错: java.sql.SQLException: Incorrect at com.mysql.cj.jdbc.exceptions.SQLError.createSQLExcep ...

  3. 九、MySQL报错( (1292, u"Truncated incorrect DOUBLE value: '424a000000066'") result = self._query(query))

    1.数据库sql语句:SELECT seat_id FROM netsale_order_seat os join netsale_order nor on os.order_code=nor.ord ...

  4. MySql中报错:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xBB' for column

    问题描述: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xBB' for column 'nickName' at row ...

  5. Django 找不到模版报错" django.template.exceptions.TemplateDoesNotExist: index.html"

    解决办法:在setting.py的TEMPLATES‘DIRS'[]加入模版路径 os.path.join(BASE_DIR, 'templates') TEMPLATES = [ { 'BACKEN ...

  6. mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column

    1.我们创建数据库的时候没有更改数据库的字符集为utf8. 在mysql工具中,右击数据库,->"改变数据库",->选择“基字符集”为utf-8; 2,数据库中表的字符 ...

  7. beego 使用连接mysql 报错 register db Ping `default1`, Error 1049: Unknown database 'test_beego' must have one register DataBase alias named `default`

    项目移植到另一台电脑后出现以下问题,及其解决方法: package models import ( "github.com/astaxie/beego/orm" _ "g ...

  8. python+Django+test 测试数据库生成报错

    前提: 使用Django自带的test进行单元测试. 问题描述: 运行:python manage.py test,报错,出现数据库乱码的现象,报错如下: Creating test database ...

  9. Django源码安装xadmin报错Apps aren't loaded yet.

    环境:python2.7, django1.9 1.报错django.core.exceptions.AppRegistryNotReady:Apps aren't loaded yet.如下图所示: ...

随机推荐

  1. 设置网页icon标志

    下载一个你喜欢的icon,文件格式为ico,然后将这个文件重命名为favicon.ico,并把文件放在网站的根目录下. 一般在ie8版本以上都支持icon图标.但是在此版本一下,我们需要添加一段代码. ...

  2. installshield 功能传送错误

                                       出现这种问题,网上有几种解决方法: 1.原因:卸载不干净或者installshield本身安装的问题 解决方法:①卸载老程序.②删 ...

  3. django面试四

    Django的优点 功能完善.要素齐全:自带大量常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站. 完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线 ...

  4. RESTful Web Service 架构

    特点:简单,可靠,高效,跨平台和跨语言 含义: Web Service 简单来说是指提供给不同设备通过互联网(一般使用 HTTP 协议)进行通信和交换数据的一种服务.RESTful Web Servi ...

  5. [转] 理解 LSTM 网络

    [译] 理解 LSTM 网络 http://www.jianshu.com/p/9dc9f41f0b29 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他 ...

  6. Xposed MultiDex Hook

    使用Xposed Hook多DEX的应用时,Xposed会抛ClassNotFound的异常,原因是它只会在classes.dex查找类.以下官方不完美解决办法,参考 Github上的 #30 iss ...

  7. Buildroot stress-ng Linux系统压力测试

    /********************************************************************** * Buildroot stress-ng Linux系 ...

  8. NOI-1.1-04输出保留3位小数的浮点数

    04:输出保留3位小数的浮点数 总时间限制:  1000ms 内存限制:  65536kB 描述 读入一个单精度浮点数,保留3位小数输出这个浮点数. 输入 只有一行,一个单精度浮点数. 输出 也只有一 ...

  9. 牛客国庆集训派对Day1-C:Utawarerumono(数学)

    链接:https://www.nowcoder.com/acm/contest/201/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言20 ...

  10. centos7 启动mysql

    密码无法登录问题: 在my.cnf  中加一句   skip-grant-tables : 重启mysql服务: mysql -uroot -p: USE mysql ; 进入后,修改密码 .UPDA ...