django 保存中文到mysql 报错django.db.utils.DatabaseError: Incorrect string value: '\xE5\xBE\x88\xE7\x81\xB5
分析:
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,所以这里还要修改数据库,表的编码
修改后查看编码都已经是utf8了应该不会有错了。果然测试可以了。
下面附上mysql的一些相关命令:
django 保存中文到mysql 报错django.db.utils.DatabaseError: Incorrect string value: '\xE5\xBE\x88\xE7\x81\xB5的更多相关文章
- 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 ...
- 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 ...
- 九、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 ...
- 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 ...
- Django 找不到模版报错" django.template.exceptions.TemplateDoesNotExist: index.html"
解决办法:在setting.py的TEMPLATES‘DIRS'[]加入模版路径 os.path.join(BASE_DIR, 'templates') TEMPLATES = [ { 'BACKEN ...
- mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column
1.我们创建数据库的时候没有更改数据库的字符集为utf8. 在mysql工具中,右击数据库,->"改变数据库",->选择“基字符集”为utf-8; 2,数据库中表的字符 ...
- 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 ...
- python+Django+test 测试数据库生成报错
前提: 使用Django自带的test进行单元测试. 问题描述: 运行:python manage.py test,报错,出现数据库乱码的现象,报错如下: Creating test database ...
- Django源码安装xadmin报错Apps aren't loaded yet.
环境:python2.7, django1.9 1.报错django.core.exceptions.AppRegistryNotReady:Apps aren't loaded yet.如下图所示: ...
随机推荐
- webpack+vue+vueRouter模块化构建小demo实例超详细步骤(附截图、代码、入门篇)
说明:本demo使用yarn代替npm指令来下载一系列依赖,有详细指令说明:使用WebStorm下Terminal来输入指令: >开始(确认已经安装node环境和yarn包管理工具) 1.新建项 ...
- shell开源跳板机sshstack
笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 源码地址: https://github.com/sshstack/sshstack 为什么要写shell跳板机? ...
- Centos7 zip unzip 安装和使用
安装: yum install -y unzip zip: 解压 unzip filename.zip
- spring boot项目,application.properties配置文件下中文乱码解决方案
转自:https://blog.csdn.net/qq_40408534/article/details/79831807 如以上,application.properties文件下中文乱码.发生乱码 ...
- Linux /etc/password 文件详解
root2:x:0:0::/home/root2:/bin/bash[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell] 其中: ⒈[用户名]是passwd文件里 ...
- poj 2253——Frogger
这个题一开始不知道咋做,但是大致有点意思.后来还是借鉴了题解发现可以用dijkstra,不太理解.但是在最后自己推的时候突然理解了. dijkstra应该也算是动态规划.我们用dis[i]数组作为青蛙 ...
- ES最佳实践之分片使用优化
Elasticsearch最佳实践之分片使用优化 作者:老生姜 一.遇到的问题 与大多数分布式系统一样,Elasticsearch按照一定的Hash规则把用户数据切分成多个分片,然后打散到不同机器进行 ...
- Django---模版层
---https://www.cnblogs.com/liuqingzheng/articles/9509806.html 一.处理浏览器转义字符串的两种方式 1.{{ str|safe }} 2.在 ...
- Blender界面及模式统计
Blender2.79b安装后默认界面分布: 所有窗口: 窗口: 3D View的9种模式:
- django额外参数的传递和url命名
django额外参数的传递 path方法:path(route, view, kwargs=None, name=None) path方法可以传递入一个额外参数的字典参数(kwarg),字典里的值就会 ...