1.修改服务器级
a. 临时更改:
mysql>SET GLOBAL character_set_server=utf8;
b. 永久更改:
shell>vi /etc/my.cnf
[mysqld]
default-character-set=utf8
2.修改数据库级
a. 临时更改:
mysql>SET GLOBAL character_set_database=utf8;
b. 永久更改:
改了服务器级就可以了
3.修改表级
mysql>ALTER TABLE table_name DEFAULT CHARSET utf8;
更改了后永久生效
4.修改列级
修改示例:
mysql>ALTER
TABLE `products` CHANGE `products_model` `products_model` VARCHAR( 20 )
CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
更改了后永久生效
5.更改连接字符集
a. 临时更改:
mysql> SET NAMES utf8;
b. 永久更改:
shell>vi /etc/my.cnf
在[client]中增加:
default-character-set=utf8
------------------------------------------------------------------------------------------------
例如:我在安装mysql5.0用了utf-8,执行以下语句之后
CREATE TABLE beer (
id int(10) unsigned NOT NULL auto_increment,
business_id int(10) unsigned NOT NULL default '0',
name varchar(255) NOT NULL default '',
price varchar(255) NOT NULL default '',
UNIQUE KEY id (id)
) TYPE=MyISAM;
varchar的字符串集是utf-8,那我怎样设置为gbk呢?
当然可以直接在后面加,但是我有好几十个表.一一加就有点笨,请各位引路了.
不知道你是不是想像下面那样作转换:
CREATE TABLE `books` (
`id` varchar(8) NOT NULL default '',
`name` varchar(24) default NULL,
`title` varchar(96) default NULL,
`price` float default NULL,
`yr` int(11) default NULL,
`description` varchar(30) default NULL,
`saleAmount` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
这个表的类型为varchar的字段的字串集都是utf8,数据库的字符集也为utf8;
用mysql> alter table books convert to character set gbk;作转换后变成:
CREATE TABLE `books` (
`id` varchar(8) character set gbk NOT NULL default '',
`name` varchar(24) character set gbk default NULL,
`title` varchar(96) character set gbk default NULL,
`price` float default NULL,
`yr` int(11) default NULL,
`description` varchar(30) character set gbk default NULL,
`saleAmount` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
明显可以看到字段类型为varchar的字符集都变成了gbk,但是数据库的字符集仍为utf8;
如果想连数据库的字符集也变成gbk,就要用
mysql> alter database bookdb default character set gbk;
把现在的表导出来,然后把所有的 DEFAULT CHARSET=utf8之类的语句改成DEFAULT CHARSET=gbk,再运行,就行了