用django连接mysql之后,发现中文乱码
解决:
在settings.py下DATABASES添加:
‘default-character-set’: ‘utf8’,
然后打开mysql配置文件/etc/mysql/my.cnf,添加如下代码:(一定要注意下划线和横杠的区别)
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default_character_set=utf8(此处为添加部分)
[mysqld]
#
* Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
character-set-server=utf8(此处为添加部分) init_connect=’SET NAMES
utf8’(此处为添加部分)
2.然后重启mysql。
/etc/init.d/mysql restart
3.然后进入数据库中。
额外学习:
查看数据库编码配置:
show variables like ‘character%’;
查看test数据库的编码格式:
mysql> show create database test;
查看yjdb表的编码格式:
mysql> show create table yjdb;
也可在mysql命令行输入SET character_set_client=’utf8’;类似命令改变编码
当使用Django连接MySQL数据库出现中文乱码问题时,可在settings.py的DATABASES设置中添加'default-character-set': 'utf8',并修改MySQL配置文件my.cnf,在[client]和[mysqld]段落中分别添加default_character_set=utf8和character-set-server=utf8。重启MySQL服务后,通过查询变量和创建数据库/表的信息来检查编码设置。

被折叠的 条评论
为什么被折叠?



