# 项目场景:

Django 中连接数据库时出现错误,采用了一个大牛的博客解决的,这里附上链接 https://blog.csdn.net/Wathet_blue/article/details/105401717?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

# 问题描述:

出现错误!OperationalError: (1366, “Incorrect string value: ‘\xE4\xB9\x8B\xE7\xBE\x8E’ for column ‘name’ at row 1”)

# 原因分析:

数据库的编码规则没有使用 utf8,而在存储数据时添加了中文数据,导致报错。

# 解决方案:

删除数据库 (有数据先备份)

drop database [database_name];

指定编码重建数据库 或者 修改数据库编码后重建数据库

create database [database_name] default character set utf8 collate utf8_general_ci;
show variables like 'character%';	// 查看mysql的编码
	set character_set_client=utf8;		// 设置客户端的编码为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;
	create database [database_name];	// 新创建数据库使用的编码规则是utf8

重新迁移数据库

python manage.py makemigrations
	python manage.py migrate