zoukankan      html  css  js  c++  java
  • mysql mariadb 乱码

    mysql

    创建临时表 CREATE TEMPORARY TABLE tmp_table SELECT COUNT(*) AS num FROM student_info GROUP BY LEFT(name,1);

    一、查看MySQL数据库服务器和数据库MySQL字符集。

    show variables like '%char%';

     Linux下一般是 /etc/my.cnf,Windows下一般在系统目录下或者在MySQL的安装目录下名字叫my.ini

    注意:新版本的mariadb,如mariadb-10.1的配置些许有些变化
     
    在my.ini文件末尾添加如下
    [mysqld]

    init_connect = 'SET collation_connection = utf8_general_ci'

    init_connect = 'SET NAMES utf8'

    character_set_server = utf8

    collation_server = utf8_general_ci

    [mysqld_safe]

    init_connect = 'SET collation_connection = utf8_general_ci'

    init_connect = 'SET NAMES utf8'

    character_set_server = utf8

    collation_server = utf8_general_ci

    二、修改mysql默认字符集的方法,就是使用mysql的命令

       mysql> SET character_set_client = utf8 ;

       mysql> SET character_set_connection = utf8 ;

       mysql> SET character_set_database = utf8 ;

       mysql> SET character_set_results = utf8 ;

       mysql> SET character_set_server = utf8 ;

       mysql> SET collation_connection = utf8 ;

       mysql> SET collation_database = utf8 ;

       mysql> SET collation_server = utf8 ;

    三、

       sudo /etc/init.d/mysql stop

       sudo /etc/init.d/mysql start

       

       

       一、查看MySQL数据库服务器和数据库MySQL字符集。

       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       | D:MySQL Server 5.0sharecharsets |......  

       +--------------------------+-------------------------------------+------

    二、查看MySQL数据表(table)的MySQL字符集。

       mysql> show table status from sqlstudy_db like '%countries%';  

       +-----------+--------+---------+------------+------+-----------------+------  

       | Name      | Engine | Version | Row_format | Rows | Collation       |......  

       +-----------+--------+---------+------------+------+-----------------+------  

       | countries | InnoDB |      10 | Compact    |   11 | utf8_general_ci |......  

       +-----------+--------+---------+------------+------+-----------------+------

    三、查看MySQL数据列(column)的MySQL字符集。

       mysql> show full columns from countries;  

       +----------------------+-------------+-----------------+--------  

       | Field                | Type        | Collation       | .......  

       +----------------------+-------------+-----------------+--------  

       | countries_id         | int(11)     | NULL            | .......  

       | countries_name       | varchar(64) | utf8_general_ci | .......  

       | countries_iso_code_2 | char(2)     | utf8_general_ci | .......  

       | countries_iso_code_3 | char(3)     | utf8_general_ci | .......  

       | address_format_id    | int(11)     | NULL            | .......  

       +----------------------+-------------+-----------------+--------  

       

       

       

       mysql默认字符集能否进行修改呢?答案是肯定的,下面就将教您两种修改mysql默认字符集的方法,希望对您学习mysql默认字符集方面能有所启迪。

    (1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,

    如 default-character-set = utf8

    character_set_server = utf8

    修改完后,重启mysql的服务,service mysql restart

    使用 mysql> SHOW VARIABLES LIKE 'character%';查看,发现数据库编码均已改成utf8

       +--------------------------+---------------------------------+  

       | 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 | D:"mysql-5.0.37"share"charsets" |  

       +--------------------------+---------------------------------+  

    (2) 还有一种修改mysql默认字符集的方法,就是使用mysql的命令

       mysql> SET character_set_client = utf8 ;  

       mysql> SET character_set_connection = utf8 ;  

       mysql> SET character_set_database = utf8 ;  

       mysql> SET character_set_results = utf8 ;    

       mysql> SET character_set_server = utf8 ;  

       

       mysql> SET collation_connection = utf8 ;  

       mysql> SET collation_database = utf8 ;  

       mysql> SET collation_server = utf8 ;

    一般就算设置了表的mysql默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:

       SET NAMES 'utf8';  

    它相当于下面的三句指令:

       SET character_set_client = utf8;  

       SET character_set_results = utf8;  

       SET character_set_connection = utf8;

       

       

       

       ubuntu上安装mysql非常简单只需要几条命令就可以完成。

      1. sudo apt-get install mysql-server

      2. apt-get isntall mysql-client

      3.  sudo apt-get install libmysqlclient-dev

      安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

      sudo netstat -tap | grep mysql

      通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

      登陆mysql数据库可以通过如下命令:

      mysql -u root -p

      -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

  • 相关阅读:
    求概率 Bag of mice CodeForces
    HDU 3853 LOOPS(概率DP)
    HDU 4405 Aeroplane chess (概率DP & 期望)
    求期望 ZOJ 3329 One Person Game
    poj 3774 Scout YYF I (矩阵优化的概率DP)
    codeforces 600D Area of Two Circles' Intersection
    codeforces 600A Extract Numbers
    codeforces 600C Make Palindrome
    POJ
    POJ
  • 原文地址:https://www.cnblogs.com/thankyouGod/p/5996941.html
Copyright © 2011-2022 走看看