博瑞博客

青春是一个充满活力的季节,即便是我们失去了天使的翅膀,只要我们还有一颗青春的心,那么我们的生活依然能够如阳光般灿烂!......
现在位置:首页 > 服务器 > Linux > Linux 配置源码安装的MySQL同时支持多个字符集

Linux 配置源码安装的MySQL同时支持多个字符集

江湖    Linux    2016-2-15    1035    0评论

一、mysql的多字符集支持

    1、设置mysqld服务同时支持多个字符集

        将mysqld服务的默认字符集改为utf8,并同时支持latin1、gbk、gb2312、big5、ascii字符集。可以为不同的数据库、表使用不同的字符集编码。



        Step1:./configure步骤时需增加字符集支持选项,例如:

shell> ./configure --with-charset=utf8 --with-collation=utf8_bin --with-extra-charsets=big5,ascii,gb2312,gbk,utf8,latin1



          //默认的字符集缺省为latin1。

          //其中,utf8对应可用的collation值为:utf8_bin、utf8_general_ci、utf8_unicode_ci

          //extra支持也可以使用 "--with-extra-charsets=all"。



        Step2:在make步骤之前,修改config.h头文件,查找utf8、gbk、gb2312等定义字符集变量的行,确认有如下内容(如果没有则需要手动添加),例如:

#define HAVE_CHARSET_ascii 1

#define HAVE_CHARSET_big5 1

#define HAVE_CHARSET_gb2312 1

#define HAVE_CHARSET_gbk 1

#define HAVE_CHARSET_latin1 1

#define HAVE_CHARSET_utf8 1



          //一开始没有修改config.h,费了好多功夫,"mysql>"环境中使用非默认字符集时总报"Error 1115"错误:

mysqld> set names gbk;

ERROR 1115 (42000): Unknown character set: 'gbk'

          //后来发现在./configure完成后,config.h文件中并没有自动打开gbk、gb2312等变量定义,不得不手动修改添加。



    2、验证mysqld服务的多字符集支持

        1) 查看当前mysql数据库支持的字符集

mysql> show character set;



        2) 查看对应字符集可用的校对规则

mysql> show collation like 'gb%';

mysql> show collation like 'utf8%';



        3) 查看当前mysql服务器使用的默认字符集状态

mysql> status

……

Server characterset:  utf8

Db     characterset:  utf8

Client characterset:  utf8

Conn.  characterset:  utf8



        4) 在创建数据库时指定使用的默认字符集:

mysql> create database testdb default character set utf8;

mysql> show create database testdb;     //验证数据库建立信息



        5) 在创建数据表时指定使用的默认字符集:

mysql> create table testdb.tb1 ( id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(15) NOT NULL default '',PRIMARY KEY  (id) ) ENGINE=MyISAM DEFAULT CHARACTER SET gb2312;

mysql> show create table testdb.tb1;     //验证数据表建立信息



        6) 在mysql>客户端环境中设置使用的默认字符集

mysql> set NAMES utf8;

评论一下分享本文赞助博瑞

赞助博瑞X

扫码赞助博瑞
联系站长
博瑞博客
挤眼亲亲咆哮开心想想可怜糗大了委屈哈哈小声点右哼哼左哼哼疑问坏笑赚钱啦悲伤耍酷勾引厉害握手耶嘻嘻害羞鼓掌馋嘴抓狂抱抱围观威武给力
提交评论

清空信息
关闭评论