版本: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数据库

python django mysql写入中文乱码_Django 连接mysql数据库中文乱码相关推荐

  1. 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. pycharm连接远程mysql_CentOS7安装mysql以及使用pycharm远程连接mysql时遇到的问题

    背景:做python项目的时候需要使用pycharm连接mysql数据库,在CnetOS7版本中mysql换了个名字叫做mariadb 安装命令 yum -y install mariadb mari ...

  4. mysql 遗失对主机的连接,MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)...

    MySQL远程连接丢失问题解决方法(Lost connection to MySQL server) 最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦. 远程连接 ...

  5. java连接MySQL几种方法_Java连接MySQL数据库三种方法

    好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...

  6. wdcp mysql密码_WDCP提示无法连接mysql及创建站点提示mysql密码不正确

    一.wdcp系统访问提示无法连接mysql 1.可能是mysql服务没启动,首先ssh登陆服务器,然后执行service mysqld restart重启mysql再访问试下,如果无法启动,先用df  ...

  7. mysql跳过安全_Navicat连接MySQL数据库

    前言: 在使用Gin架构搭建博客的时候,需要设计数据库,以及连接数据库.命令端口操控效率实在是太低且不好管理,这个时候使用Navicat就能轻松高效的使用数据库了. 步骤: 下载安装Navicat,M ...

  8. php mysql odbc_javascript连接mysql与php通过odbc连接任意数据库的实例

    脑洞大开用javascript链接mysql,2个小时总算实现了,用到了odbc,后面又想到用php链接odbc链接数据库,也实现了,就把案例放一下. 注意事项: 1.javascript连接mysq ...

  9. qt5.8连接mysql代码_qt5.8如何连接mysql

    qt5.8连接mysql的方法:首先编译生成mysql的驱动:然后下载"libmysql.dll"库,并将其放在Qt的bin文件夹下:最后创建连接代码文件进行测试即可. 推荐:&l ...

最新文章

  1. SimpliciTI简介
  2. 吴恩达深度学习神经网络基础编程作业Planar data classification with one hidden layer
  3. Python中的列表(list)
  4. python2中可以使用print()函数吗_Python3中的 print 函数有哪些用法?
  5. [C#] DBNull、Null和String.Empty的区别
  6. 计算机中答案没有小数怎么办,嵌入式编程中计算机是如何存储小数的
  7. java基于springboot+vue的旧物置换网站
  8. 计算机办公软件应用杂志,武汉计算机办公软件应用
  9. 外贸常用术语_外贸常用术语大全-
  10. 腾讯地图位置服务器,腾讯位置服务离线地图接入指南
  11. 智慧灯杆解决方案之智慧景区建设
  12. 教你炒股票29:转折的力度与级别
  13. FAST-LIO公式推导
  14. 跨设备链路聚合 M-LAG配置案例
  15. PowerBI创建基础的日期表
  16. 阿里云团队协作网盘Teambition之目录程序
  17. 服装ERP应用优势有哪些?
  18. MacOS Excel 科研作图示例
  19. 王天一和许银川能赢过象棋软件吗?
  20. 四大“化学融合”、两大核心平台能力,华为首次系统解读OneStorage

热门文章

  1. Vue 调试工具 vue-devtools 安装及使用
  2. jupyter notebook 设置默认目录
  3. 北大核心期刊2012《科技通报》杂志简介《科技通报》论文范文
  4. 正则表达式过滤文本,replace的使用
  5. 关于HttpUtility.UrlEncode,HttpUtility.UrlDecode,Server.UrlEncode,Server.UrlDecode
  6. Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)
  7. 深度学习《CNN架构》
  8. PRML-系列二之2.3
  9. PRML-系列一之1.6
  10. mysql查询全年星期_数据库查询显示一年中所有的周一到周五的数据