django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE5\\xA... 问题处理

问题现象

执行单元测试命令时, 在预创建测试数据库时出现, 导致的现象为测试数据库无法正确创建

问题原因

此问题出现原因是因为 默认的 mysql 的排序规则在未指定时默认不是 utf8_general_ci 

默认是一个 latin1 开头的规则, 此规则会导致中文一些编码问题

解决方式

方式一

show variables like '%char%';

将字符集显示不是utf-8的更改为utf-8

例如:

set character_set_database=utf8;

重启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

在mysql 的配置文件里面加入以上代码

目的都是一致的, 调整默认的编码格式为 utf8

本文来自博客园,作者:羊驼之歌,转载请注明原文链接:https://www.cnblogs.com/shijieli/p/15656226.html

原文地址:https://www.cnblogs.com/shijieli/p/15656226.html