最近一段时间学习Django,在进行与MysqL数据联合使用的插入数据的时候遇到下边的问题:

/usr/local/lib/python2.7/dist-packages/Django-1.11.dev20170117002028-py2.7.egg/django/db/backends/MysqL/base.py:109: Warning: Incorrect string value: '\xE6\x88\x90\xE5\x8A\x9F...' for column 'json' at row 1

return self.cursor.execute(query,args)

[07/Feb/2017 12:15:21] "GET /index/ HTTP/1.1" 200 250

查看数据库编码

MysqL> show create database bangjob; +----------+--------------------------------------------------------------------+

| Database | Create Database | +----------+--------------------------------------------------------------------+

| bangjob | CREATE DATABASE `bangjob` /*!40100 DEFAULT CHARACTER SET latin1 */ | +----------+--------------------------------------------------------------------+

1 row in set (0.00 sec)

MysqL> show variables like'%char%'; +--------------------------+----------------------------+

| Variable_name | Value | +--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/MysqL/charsets/ | +--------------------------+----------------------------+

8 rows in set (0.00 sec)

MysqL> set character_set_database=utf8;

Query OK,0 rows affected (0.00 sec)

MysqL> set character_set_server=utf8;

Query OK,0 rows affected (0.00 sec)

查看修改后的结果

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 | /usr/share/MysqL/charsets/ | +--------------------------+----------------------------+

8 rows in set (0.00 sec)

这时候继续插入就没有任何问题了。

如果真的是这样简单就好了,因为这样的修改作者在重启MysqL的后设置失效!!!

继续寻找其它方法

sudo gedit /etc/MysqL/my.cnf

在my.cnf文件的对应节点添加一下信息:

[client]

default-character-set=utf8 [MysqLd] default-character-set=utf8 [MysqL] default-character-set=utf8

然后重启MysqL:

/etc/init.d/MysqL start

如果能重启那么再次查看数据库编码:

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 | /usr/share/MysqL/charsets/ | +--------------------------+----------------------------+

8 rows in set (0.01 sec)

如果真的时这样就好了,事情的发生总是不像想象的那么简单:

在重启MysqL服务的时候发现一直处于等待状态(PS:猜测发生了死锁什么的),这个时候执行MysqL -u root -p则会抛出异常ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/var/run/MysqLd/MysqLd.sock' (2)。

我就是想修改一下编码而已,为什么这么苦->->->->->!!!

解决这个问题的时候试过好多方法(重启,恢复)。。。。。

sudo /etc/init.d/MysqL status

查看MysqL的状态:MysqL respawn/post-start,(post-start) process 55665

这些方式不能解决问题,还是从日志开始吧…

找到日至文件 /var/log/MysqL/error.log

继续找ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/var/run/MysqLd/MysqLd.sock' (2)的解决办法。

答案:

[ MysqLd ] 下的 default-character-set=utf8’ 改成

character_set_server=utf8

好了,终于可以重启MysqL了,并且重启后设置的编码依旧生效(当然之前创建的数据库需要重新创建T_T)。

ubuntu下mysql中文乱码_Ubuntu的MySQL中文乱码问题--自己躺坑相关推荐

  1. Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL

     Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL 2012-09-15 11:12:31 标签:php mysql ubuntu nginx php-fpm 原创作品,允许转载 ...

  2. ubuntu安装mysql依赖关系_ubuntu 安装mysql问题

    sudo apt-get install mysql-server 错误信息: Renaming removed key_buffer and myisam-recover options (if p ...

  3. ubuntu安装mysql没反应_Ubuntu安装mysql三种安装方式

    三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 注:建议将/etc/apt/sourc ...

  4. Ubuntu下安装hive,并配置mysql作为元数据库

    一.安装hive 1. 下载并解压hive源程序 sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local # 解压到/usr/local ...

  5. ubuntu mysql主从备份_Ubuntu 16 MySQL主从备份配置

    环境准备 机器准备 master 192.168.1.101 slave 192.168.1.102 操作系统 Ubuntu 16 MySQL版本5.7 配置文件说明 Ubuntu中mysql配置文件 ...

  6. geany java编译器乱码_Ubuntu Geany打开文件乱码的解决方法

    Geany是Ubuntu下一款很不错的文本编辑工具和开发工具,但美中不足的是使用Geany打开非UTF-8编码的简体中文文件时,一般显示乱码,查看看属性会发现Geany对于中文文件是按照ISO8859 ...

  7. ubuntu mysql 数据库编码_Ubuntu中 MySQL 的中文编码问题

    使用Ubuntu在安装好MySQL数据库之后,如果直接创建数据库,再创建数据表,那么是无法向字段插入中文的,会报Incorrect string value错误. c实现编码设置的两种方法: (1)动 ...

  8. ubuntu安装mysql安装包_ubuntu安装mysql

    一:首先打开mysql的官网,然后点击中间的downloads选项,在下面弹出来的选项卡里点击APT Repository ,进入到apt仓库下载页面.在这个页面里我们可以看到,目前我们使用的16.0 ...

  9. ubuntu下安装jdk、tomcat、mysql

    1.JDK安装 方法1: 将JDK安装包解压缩之后,编辑~/.bashrc文件,在该文件里面加入下面的配置,然后通过source ~/.bashrc.JDK即安装成功. export JAVA_HOM ...

最新文章

  1. 这份Kaggle Grandmaster的图像分类训练技巧,你知道多少?
  2. 怎样学python最快_如何少走弯路,快速学会Python
  3. commons-lang StringUtils#split的坑
  4. 机器学习中的目标函数、损失函数、代价函数有什么区别?
  5. 访问地址指向本机地址_详解MySql通过ip地址进行访问的方法
  6. FPGA和CPLD的比较
  7. SQL Server商业智能中ODS表和Dim表必须有的字段
  8. java无框架开发,DON: java 小型web项目快速开发框架,实现无配置,直接关注业务开发.主要解决请求分发解析...
  9. thinkphp框架下的xml交互
  10. 怎么设置ep4ce6e22b8n引脚_引脚输出的隐藏BUG
  11. 腾讯校园招聘笔试 2019-8-17 第四题
  12. Atitit ati licenseService    设计原理
  13. 存储程序式计算机特征,冯.诺依曼机模型是以运算器为中心的存储程序式的计算机模型,它由五大部分构成,即运算器、控制器、存储器、输入设备和输出设备...
  14. 【1、雅思听力】B站听力中每单元的生词
  15. 成都榆熙:拼多多商家都想要提高客单价,但是怎么去提高呢?
  16. 厦门理工嵌入式开发LPC1768开发板教程
  17. Polar码译码C语言程序,任意码长的Polar码编码方法与流程
  18. 模拟器+Appium+Python抓取App内容
  19. QT Desinger设计程序主界面 PyUIC生成.py
  20. 北京格林深瞳算法实习生面试

热门文章

  1. R语言dplyr包和tidyr包创建交叉表(列联表、crosstab)实战
  2. JetBrains DataGrip工具配置数据库过程详解
  3. python使用imbalanced-learn的SVMSMOTE方法进行上采样处理数据不平衡问题
  4. R构建岭回归模型(Ridge Regression)实战
  5. R单变量可视化(Histograms、 Index Plots、Time-Series Plots、Pie Charts)
  6. c++读取声音文件之后回音_一段程序运行之后,输出的内容就是这段程序本身。...
  7. makefille的使用
  8. 三代测序数据超快组装软件--大牛Li heng 力作
  9. css动画使用背景图片卡顿_CSS入门学习笔记(二):布局与定位
  10. java+long.builder_Java LongStream.Builder accept()用法及代码示例