• 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
    >>> 
    

     这样就算成功了。

  • 相关阅读:
    POJ 2348 Euclid's Game【博弈】
    POJ 2484 A Funny Game【博弈】
    HDU 4193 Non-negative Partial Sums【单调队列】
    占坑补题
    Codeforces 658D Bear and Polynomials【数学】
    Codeforces 658C Bear and Forgotten Tree 3【构造】
    Codeforces 658B Bear and Displayed Friends【set】
    POJ 1704 Georgia and Bob【博弈】
    1001. A+B Format

  • 原文地址:https://www.cnblogs.com/agnewee/p/4937310.html
Copyright © 2020-2023  润新知