版本:CentOS6.8 python3.6.4 django1.8.2 数据库pymysql

我使用的终端是CentOS终端,CentOS桌面版安装的pycham,windows使用Navicat连接mysql数据库。

我遇到的情况大致这样,在CentOS终端进入mysql,然后查询表,中文显示没问题,在Navicat设置了utf-8,中文显示也没问题,但是当我在虚拟环境执行python manage.py shell,使用这个shell查询,中文就乱码了。

乱码第一时间想到的是编码问题,在这里省略一万字,通过各种查找资料,修改配置文件等等,然后结合各种资料信息,终于解决了这个问题!直接进入解决方法!

1:执行pip install PyMySQL ,查找出PyMySQL的安装位置,然后执行cd命令进入,cd /root/.virtualenvs/Cole_py3/lib/python3.6/site-packages/pymysql(这里我的安装目录);

2:在这个目录下有一个connections.py文件,直接进入编辑,

vim connections.py;

3:进入编辑connections.py后,shift +:进入命令行,输入/charset命令查找,打到def ini(),如下图所示:

把charset=’ ‘改为charset=’utf8’;保存退出。

4:接下来在终端运行mysql,执行命令mysql -uroot -p;

5:运行数据库后,执行命令show variables like “%char%”,如图所示;

有几个变量值是latin1的,要把它们改成utf8;网上有资料说执行这个命令

set character_set_client=utf8;

这个执行完之后的确是可以修改,但只是临时的,退出数据库重新登陆又恢复原来的数据,要把它永久修改要执行以下;

6:vim /etc/my.cnf,如下图所示:

[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

保存退出!

7:再去mysql执行命令show variables like “%char%”; ,你会看到如下图所示:

修改成功!

8:如果有用Navicat的话,要去把编码改为自动;右击数据库,选择连接属性——高级——在编码那里选择自动。

9:最后一步!你现在运行python manage.py shell或者运行mysql,然后查询数据,显示出来还是会乱码的!!!因为这些数据是你之前输入进去的,所以必须要把这些数据删除,然后重新插入!完成!

Navicat

mysql

python manage.py shell

改完重启mysql数据库

django 操作MySQL 中文乱码_Django 连接mysql数据库中文乱码相关推荐

  1. python django mysql写入中文乱码_Django 连接mysql数据库中文乱码

    版本:CentOS6.8 python3.6.4 django1.8.2 数据库pymysql 我使用的终端是CentOS终端,CentOS桌面版安装的pycham,windows使用Navicat连 ...

  2. php连mssql 中文乱码,PHP连接MSSQL显示中文时为乱码_PHP教程

    PHP连接MSSQL显示中文时为乱码 PHP连接MSSQL显示中文时为乱码主要是因为编码问题了,我们只要懂得一对于数据库与页面的编码统一处理就可以解决了,下面一起来看看下文. 因为一直在使用 wind ...

  3. php设置mysql查询编码,php连接mysql时怎么设置编码方式

    php连接mysql时怎么设置编码方式 php连接mysql数据库时,也就是在mysql_connect()语句之后添加"mysql_query("set names utf8&q ...

  4. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)

    本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动到qt连接mysql数据库(一.编译连接前准备) [全教程]qt连接mysql--从qt编译mysql驱动到qt连接my ...

  5. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一、编译连接前准备)

    一.说明 电脑系统:win10 qt版本:5.13.2和5.14.1(测试均成功) mysql版本:MySQL-5.5 本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动 ...

  6. macOS安装MySQL,使用Navicat连接MySQL数据库/2022

    macOS安装MySQL,使用Navicat连接MySQL数据库/2022 intel chip 下载安装文件 进入官网 MySQL :: MySQL Downloads 选择页尾MySQL Comm ...

  7. mybatis mysql 中文乱码_mybatis连接mysql数据库插入中文乱码

    对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...

  8. mysql 中文乱码 mybatis_mybatis连接mysql数据库插入中文乱码

    对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,建库的时候,选择UTF-8字符集.我试过 ...

  9. java mysql插入数据乱码_java连接mysql插入数据出现中文乱码

    java连接了mysql数据库后,程序行向数据库中插入信息,代码如下: dbhelper boringdb = new dbhelper(); boringdb.connSQL(); String i ...

最新文章

  1. ALSA声卡笔记3--ASoC驱动重要结构体关系图
  2. 二叉树的递归遍历和层序遍历(c/c++)
  3. 自学架构设计的一个好方法
  4. centos安装zendopcache
  5. android 获得屏幕的大小
  6. SqlServer跨域查询
  7. MATLAB矩阵的算术运算
  8. Mastering Oracle SQL学习笔记(join句法专题第六部份)
  9. python闭包和函数调用区别_python – 函数闭包与可调用类
  10. matlab iradon函数详解,如何处理iradon函数所得图像
  11. kuangbin 简单搜索 A 棋盘问题
  12. python爬虫区划代码表
  13. Word分栏出现空白怎么解决
  14. pandas 取某一列数据的几种形式比较
  15. 暑假训练 The Triangle Game (OpenJ_Bailian - 1574)
  16. 两个可能常用到的几何知识(圆与椭圆的方程、求垂直向量)
  17. js动画——图片轮播
  18. 带感小说:程序员坐牢会被安排写代码吗?
  19. 如何使用matlab进行频域分析
  20. css 设置文字强制不换行

热门文章

  1. tensorflow基础练习:线性模型
  2. DOS命令大全(转)
  3. Linux系统软件信息内核,系统,目录,防火墙等
  4. nyoj-228(士兵杀敌五) hdu-1556 Color the ball
  5. NYOJ 286 动物统计
  6. jsonpath的用法
  7. [Tips]Torch功能点记录
  8. linux 配置tensorflow 全过程记录
  9. 【ARM-Linux开发】内核3.x版本之后设备树机制
  10. ubuntu_ftp_server配置方法