ubuntu中mysql中文乱码及用python3.x调用

首先声明解决方法也是网上找来的,知识自己记下来以防以后用到。
ubuntu版本是14.04使用apt-get命令安装mysql
sudo apt-get install mysql-server

  好了之后使用mysql -u root -p检查是否能正常启动

mysql -u root -p

  

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.5.35-1ubuntu1 (Ubuntu)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

正常情况下会显示这样。

之前遇到一种情况是向mysql中存入的数据中含有中文是会乱码,郁闷了很久。

在mysql中 使用 show variable like "character%"命令查看字符格式

mysql> show variables like "character%"
    -> ;
+--------------------------+----------------------------+
| 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)

  我的这个是改过之后的,未修改情况下,character_set_database的编码方式并不是utf8

要修改编码方式就要修改my.cnf文件。

 sudo gedit /etc/mysql/my.cnf

 其中在[client]下加 default-character-set=utf8

 在[mysqld]下添加 character-set-server=utf8 collation-server=utf8_general_ci

 之后保存退出

然后使用

sudo service mysql restart

  重启mysql。

之后Mysql就能正常存储中文了。

##############################################################################################

之前用 的是python2.7,调用mysql的话可以使用MySQLdb,后来python升到3.5之后,发现MySQLdb不能用,遂google之,找到解决方法。

有一个pymysql可以供python调用mysql

安装也很简单。

首先 https://pypi.python.org/pypi/PyMySQL3 中下载安装包

下载好之后解压缩,进到包的文件夹目录,然后安装

python setup.py install

安装好之后进到python交互模式

python
Python 3.5.0 (default, Sep 17 2015, 00:00:00) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>> 

 这样就算成功了。