django项目mysql中文编码问题

在做django+mysql项目的时候,遇到中文报错问题。

问题分析:是由于mysql数据库,字符集的问题

在cmd命令行模式进入mysql

mysql -uroot -p以root身份进入mysql客户端,

show variables like 'char%';查看数据库编码

发现有一些不是utf8

| character_set_database   | latin1                     |
| character_set_server | latin1 |

那么怎么修改成utf8从而支持中文呢。

在mysql跟目录下,有一个my.ini  如果没有手动建一个my.ini文件。

填入以下内容即可:

[mysqld]
basedir="D:/software/mysql"
datadir="D:/software/mysql/data" port=3306
init_connect='SET NAMES utf8'
character-set-server = utf8 [client]
port=3306
default-character-set=utf8
找到[client]添加default-character-set=utf8
找到[mysqld]添加character-set-server = utf8

网上资料很多,但是不一定好使哈,这主要是根据mysql版本有关。

网上有的解决办法是在[mysqld]中添加default-character-set=utf8这个方法在新版中是没有的。 如果你添加了这个,mysql服务启动会报错。无法启动。

我的mysql版本是5.7.19   按照上边修改完my.ini配置后,以管理员的身份进么cmd,输入net start mysql。服务启动成功。

注:有一部分人可能说net start mysql命令不好使啊,那我可以告诉你,是因为你没有安装mysql服务。这样的话你要启动只能在mysql/bin目录下找到mysqld进行启动。

或者使用mysqld install进行安装服务。之后就可以用net start了。

进入数据库后:show variables like 'char%';  编码已经修改。

mysql> show variables like 'char%';
+--------------------------+-----------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\software\mysql\share\charsets\ |
+--------------------------+-----------------------------------+
8 rows in set, 1 warning (0.00 sec)
上一篇:java面向对象基础(三):对象转型和多态


下一篇:Java Script基础(五) 内置对象Date