• [MySQL] Win7 下修改 MySQL 5.5 默认编码格式


    一般安装 MySQL 程序过程中,有一步骤是选择 MySQL 的默认编码格式的,程序默认为 Latin1 编码格式,当然也可以选择第三个选项,手动选择 gbk 或 utf8 编码格式,以支持中文数据。如下图:

    mysql安装过程选择编码

    现在问题出来了,安装完成后,又想去修改 MySQL 的默认编码格式(这样就省去每次新建数据库都要指定其编码格式的麻烦),该怎么办呢?

    一、如何查看 MySQL 相关的编码格式默认值

    在 cmd 中,输入指令 "mysql –u root –p" 以 root 身份连接 mysql 数据库

    image

    然后有两种方式查看编码格式:

    1)show variables like 'character%';

    image

    2)show variables like 'collation%';

    image

    二:既然可以用命令查看,当然也可以用命令修改

    稍微解释一下:

    • character_set_client:客户端编码方式;
    • character_set_connection:建立连接时使用的编码;
    • character_set_database:数据库的编码;
    • character_set_result:结果集的编码;
    • character_set_server:数据库服务器的编码;

    I:执行命令:set NAMES 'utf8';

        该命令等同于执行如下三条命令:

    SET character_set_client = utf8;
    SET character_set_results = utf8;
    SET character_set_connection = utf8;

    但是,该设置的编码格式,只对当前连接(窗口)有效,即用另外一个 Dos 窗口再连接 mysql 数据库进行查看,编码格式是没有改变的。

    II:数据库、表、字段,均可以在创建时设置其默认编码格式,或者在其后进行修改[摘自 easybean的博客]

        1)

    create database dbname character set utf8;
    alter database dbname character set utf8;

        2)

    create table tname(…) default charset=utf8;
    alter table type character set utf8;

        3)

    create table tname(flag_deleted enum('Y','N') character set utf8 not null default 'N');
    alter table type modify type_name varchar(50) character set utf8;

    三:修改MySQL的配置文件my.ini

    比较好的,也是建议的,却是最后登场的方法,如下……

    在 Window 系统下,MySQL 的配置文件是在 MySQL 安装目录下的 my.ini 文件,但是可能安装完成后,在目录下木有 my.ini 文件,而是如下这些文件:

    image

    这时候可以去网上下载一个 my.ini 文件然后放到目录下即可,或者在 C:\ProgramData\MySQL\MySQL Installer 目录下有:

    image

    选择其中一个版本的 my-template-x.x.ini 改名成 my.ini,放到安装目录下也可以。至于细节再在 my.ini 中具体配置即可。

    my.ini 配置文件修改细节[摘自 easybean的博客]:

    I:在[mysqld]标签下加

    default-character-set=utf8
    character_set_server=utf8
    lower_case_table_names=1 //表名不区分大小写(此与编码无关)

    II:在[mysql]标签下加

    default-character-set=utf8

    III:在[mysql.server]标签下加

    default-character-set=utf8

    IV:在[mysql_safe]标签下加

    default-character-set=utf8

    V:在[client]标签下加

    default-character-set=utf8

    4:在 Dos 窗口中执行

    net stop mysqlservice    //关闭mysql服务
    net stop mysqlservice    //启动mysql服务

    然后在查看一下 mysql 默认的编码格式,是否改变成功!

    附注:

    1:连接 mysql 数据库时的字符串,设计编码类型的时候如下所示

    jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8

    2:mysql 支持哪些编码格式,查看 %MySQL%\share\charsets\Index.xml 即可

    3:mysql 的配置文件加载顺序[摘自 iihero@CSDN]

    c:/windows/my.cnf-->c:/windows/my.ini-->c:/my.cnf-->c:/my.ini-->$installdir/my.ini(%MySQL_HOME%/my.ini)-->defaults-extra-file=path

  • 相关阅读:
    Java User Thread and Daemon Thread
    BFS 和 DFS
    fail-fast vs fail-safe iterator in Java
    通过先序遍历和中序遍历后的序列还原二叉树
    单例模式总结
    TCP性能陷阱
    数据库事务的四大特性和事务隔离级别
    深入理解Java虚拟机- 学习笔记
    字符串,引用变量与常量池
    深入理解Java虚拟机- 学习笔记
  • 原文地址:https://www.cnblogs.com/memento/p/2946869.html
Copyright © 2020-2023  润新知