zoukankan      html  css  js  c++  java
  • mysql 修改字符集

    查看mysql数据编码

    登录MySQL服务,查看mysql数据库默认的编码

    mysql> show variables like 'character%';
    +--------------------------+-------------------------------------------------+
    | Variable_name            | Value                                           |
    +--------------------------+-------------------------------------------------+
    | character_set_client     | gbk                                             |
    | character_set_connection | gbk                                             |
    | character_set_database   | latin1                                          |
    | character_set_filesystem | binary                                          |
    | character_set_results    | gbk                                             |
    | character_set_server     | latin1                                          |
    | character_set_system     | utf8                                            |
    | character_sets_dir       | E:Developmysql-5.7.15-winx64sharecharsets |
    +--------------------------+-------------------------------------------------+
    8 rows in set, 1 warning (0.00 sec)
    
    mysql>

    可以看出database和server都采用了latin1编码,不支持中文,我们需要把它修改为utf-8。

    除了这两个,其它的如下

    | 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       | E:0Developmysql-5.7.15-winx64sharecharsets 

    设置mysql数据库编码

    在mysql安装目录下,将 my-default.ini 复制一分保存为 my.ini 
    做如下修改 
    陈科肇

    主要看红色框里的内容

    [mysqld]
    character-set-server=utf8 
    collation-server=utf8_general_ci 
    
    [mysql]
    default-character-set = utf8
    
    [mysql.server]
    default-character-set = utf8
    
    
    [mysqld_safe]
    default-character-set = utf8
    
    
    [client]
    default-character-set = utf8
    

    然后删除你当前的mysql服务,再重新注册mysql服务 
    注:一定要以管理员的权限运行dos命令,且cd到mysql安装目录下的bin目录,再注册mysql服务

    C:Windowssystem32>sc delete mysql
    [SC] DeleteService 成功
    
    C:Windowssystem32>e: cd
    E:>cd E:Developmysql-5.7.15-winx64in
    
    E:Developmysql-5.7.15-winx64in>mysqld --install mysql --defaults-file="E:Developmysql-5.7.15-winx64my.ini"
    The service already exists!
    The current server installed: E:Developmysql-5.7.15-winx64inmysqld MySQL
    
    E:Developmysql-5.7.15-winx64in>net stop mysql
    MySQL 服务正在停止..服务名无效。
    请键入 NET HELPMSG 2185 以获得更多的帮助。
    
    E:Developmysql-5.7.15-winx64in>mysqld --install mysql --defaults-file="E:Developmysql-5.7.15-winx64my.ini"
    Service successfully installed.
    E:Developmysql-5.7.15-winx64in>

    结果

    启动服务,查看编码

    C:WindowsSystem32>net start mysql
    mysql 服务正在启动 .
    mysql 服务已经启动成功。
    
    
    C:WindowsSystem32>mysql -u root
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.15 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2016, 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> 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       | E:Developmysql-5.7.15-winx64sharecharsets |
    +--------------------------+-------------------------------------------------+
    8 rows in set, 1 warning (0.00 sec)
    
    mysql>

    数据库实例编码设置

    mysql> show create database test;
    +----------+-----------------------------------------------------------------+
    | Database | Create Database                                                 |
    +----------+-----------------------------------------------------------------+
    | test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ |
    +----------+-----------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> alter database test default character set utf8;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> show create database test;
    +----------+---------------------------------------------------------------+
    | Database | Create Database                                               |
    +----------+---------------------------------------------------------------+
    | test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+---------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql>



    //查看MySQL数据库服务器和数据库字符集 show variables like '%char%';

    //查看表的字符集 show table status from mysql_db like '%tb_name%'

    //查看表中所有列的字符集 show full columns from tb_name;

    //查看mysql所支持的字符集 show charset;

    ==修改字符集==

    //修改全局字符集

    set character_set_connection=gb2312;

    set character_set_database=gb2312;

    set character_set_results=gb2312;

    set character_set_server=gb2312;

    set character_set_system=gb2312;

    set collation_connection=gb2312;

    set collation_database=gb2312;

    set collation_server=gb2312;

    //修改表的字符集 ALTER TABLE tb_name CONVERT TO CHARACTER SET gb2312;

    //修改字段字符集 alter table tb_name modify column tb_column varchar(30) character set gb2312 not null;

     
  • 相关阅读:
    leetcode -- Merge Two Sorted Lists
    leetcode -- Rotate List
    leetcode -- Merge Intervals
    leetcode -- Insert Interval
    Egret入门学习日记 --- 第八篇(书中 2.0~2.6节 内容)
    Egret入门学习日记 --- 第七篇(书中 3.9节 内容)
    Egret入门学习日记 --- 第五篇(书中 3.5节 内容)
    Egret入门学习日记 --- 第四篇(书中 3.1~3.3 内容)
    Egret入门学习日记 --- 第三篇 (书中 3.4 内容)
    Egret入门学习日记 --- 第二篇 (书籍的选择 && 书籍目录 && 书中 3.3 节 内容)
  • 原文地址:https://www.cnblogs.com/dadadechengzi/p/6034212.html
Copyright © 2011-2022 走看看