**

报错:django.db.utils.OperationalError: (1366, "Incorrect string value: '\xE4\xB

**

python manage.py migrate 时候报错1366,数据库问题

创建数据库时指定数据库为utf8:

修改mysql配置

修改mysql配置文件时,使用vim etc/mysql/my.cnf或者

vim /etc/mysql/my.cnf 打开的不是mysql配置用:
vim /etc/mysql/mysql.conf.d/mysqld.cnf

====================================================================================================

修改前
进入数据库执行:show variables like “%char%”;

在这里插入图片描述

修改mysql配置文件时,使用vim etc/mysql/my.cnf或者

vim /etc/mysql/my.cnf 打开的不是mysql配置用:
vim /etc/mysql/mysql.conf.d/mysqld.cnf

加入
character_set_server=utf8
init_connect='SET NAMES utf8’

如下图所示
在这里插入图片描述
保存退出即可:

在这里插入图片描述

个别情况下会报错:vim中 E212:无法打开并写入文件 的解决办法

在编写配置文件时,常常忘记切换到root用户,导致文件编辑完毕,敲入:wq 退出保存时,出现 E212:无法打开并写入文件 的错误提示。这是由于在该目录下当前用户没有写权限导致。

解决办法如下:

【1】 将文件保存到用户目录下,再改变所有者,然后移动到配置目录下,步骤如下:

1) 保存退出时用 :wq ! ~/tmp/file.conf

2)su切换到root用户,将file.conf改变属主, chown root file.conf

3)移动配置文件到目标目录,mv file.conf [pathname]

【2】 第二种解决办法相对比较简便

保存文件时用  : w ! sudo tee %

tee 用于读取输入文件,同时保存

%表示当前编辑文件

(不过这种方法有个要求就是当前编辑用户必须在 sudo这个文件中,这也是执行sudo命令的要求)
例如 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

然后跟着提示走就行。。

修改完后一定要
进入数据库
重新启动数据库:
service mysql restart

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐