zoukankan      html  css  js  c++  java
  • [mysql] 常用命令五——编码

    ① 修改表的存储类型【存储引擎】

    alter  table  表名   type=InnoDB;
    alter  table  表名   type=MyISAM;

    ② 创建一个使用utf-8字符集的mydb2数据库

    mysql> create database test character set utf8;
    Query OK, 1 row affected (0.01 sec)

    ③ 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。

    mysql> create database mydb3 character set utf8 collate utf8_general_ci;
    Query OK, 1 row affected (0.01 sec)

    ④ 查看前面创建的mydb2/mysql3数据库的编码

    mysql> show create database mydb2;
    +----------+----------------------------------------------------------------+
    | Database | Create Database                                                |
    +----------+----------------------------------------------------------------+
    | mydb2    | CREATE DATABASE `mydb2` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+----------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql> show create database mydb3;
    +----------+----------------------------------------------------------------+
    | Database | Create Database                                                |
    +----------+----------------------------------------------------------------+
    | mydb3    | CREATE DATABASE `mydb3` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+----------------------------------------------------------------+
    1 row in set (0.00 sec)

    ⑤ 修改表的编码

    alter table  表名 character set gbk collate gbk_chinese_ci;
    alter table  表名 character set utf8 collate utf8_general_ci;

    例子:把服务器中的数据库某一个库的字符集修改为gb2312;

    mysql> alter database mydb2 character set gb2312;
    Query OK, 1 row affected (0.00 sec)

    mysql> show create database mydb2;
    +----------+------------------------------------------------------------------+
    | Database | Create Database                                                  |
    +----------+------------------------------------------------------------------+
    | mydb2    | CREATE DATABASE `mydb2` /*!40100 DEFAULT CHARACTER SET gb2312 */ |
    +----------+------------------------------------------------------------------+
    1 row in set (0.00 sec)


    ⑥  插入和读取数据时的编码问题

     要想插入时不乱码(插入中文要告诉mysql客户采用gb2312编码)
     show variables like 'chara%';
     set character_set_client=gb2312;
     insert into employee(id,username) values('3','张三');
     
     要想查看时不乱码
     show variables like 'chara%';
     set character_set_results=gb2312;
     select * from employee;

    在执行前,我们可以查看client和results的编码均为utf8
    mysql> show variables like 'chara%';
    | Variable_name            | Value
    | character_set_client     | utf8
    | character_set_connection | utf8
    | character_set_database   | gbk
    | character_set_filesystem | binary
    | character_set_results    | utf8
    | character_set_server     | gbk
    | character_set_system     | utf8
    | character_sets_dir       | D:\Program Files\MySQL\MySQL Server 5.5\share\charsets\

    执行改变编码的命令:
    mysql> set character_set_client=gb2312;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_results=gb2312;
    Query OK, 0 rows affected (0.00 sec)

    查看现在的编码:
    character_set_client     | gb2312
    character_set_connection | utf8
    character_set_database   | gbk
    character_set_filesystem | binary
    character_set_results    | gb2312

  • 相关阅读:
    几个函数小练习
    结构体和枚举类型
    结构体
    几个函数小练习
    函数简介
    网页端滚轮滑动事件
    碰撞检测
    Ajax前后台交互函数
    事件绑定与解除js
    移动端的屏幕适配问题
  • 原文地址:https://www.cnblogs.com/avivaye/p/2773486.html
Copyright © 2011-2022 走看看