MySQL字符集修改命令

查看编码:
show variables like ‘collation_%';
show variables like ‘character_set_%';

修改:
MySQL:修改默认字符集,转换字符集(MySQL 5.X)
1. 修改 MySQL 数据库默认字符集(mysql database default character set)
alter database testdb default character set = gb2312;
2. 修改 MySQL 数据表默认字符集(mysql table default character set)
alter table ip_to_country default character set = gb2312;
注意:修改 MySQL 的默认字符集,不管是在数据库级别,还是数据表级别,对已经存储的字符数据无任何改变。只是新增的表或列,开始使用新的字符集。

3. 转换 MySQL 数据表字符集(mysql table character set)
MySQL 中有一个数据表 ip_to_country,以前该表字符列数据都是以 utf8 编码格式存放的,现在想转换为 gb2312 编码格式存放。需要使用 MySQL 转换字符集命令:convert to character set
alter table ip_to_country convert to character set gb2312;
提示:convert to 也会把数据表 ip_to_country 的默认字符集从 utf8 更改为 gb2312。

4. 转换 MySQL 数据表中某个列的字符集(mysql column character set)
alter table ip_to_country modify country_name varchar(50) character set gb2312;
这个语句把单独一个列 country_name 的字符集转换为 gb2312。这在用法在实际中比较少见,因为大多数情况下,都是改变整个表的字符集。

MySQL字符集修改命令

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