查看数据库字符集的若干命令: show variables like 'character\_set\_%'; SHOW VARIABLES LIKE 'collation_%'; 好像命令行运行的MySQL命令不支持UTF8,插入后好像什么都没有,所以 插入数据时可以执行 set names gbk; 之后 set names utf8; 或者使用交互工具插入。
mysql> use sofa Database changed mysql> select * from test; +------+--------+ | id | name | +------+--------+ | 2 | 娴嬭瘯 | | 1 | 娴嬭瘯 | +------+--------+ 2 rows in set (0.00 sec)
[/align]
需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法:
一、Windows
1、中止MySQL服务
2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可
3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务
二、Linux
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
3、打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务(bin/mysqld_safe &)
非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置
需要注意的是,当前数据库中已经存在的数据仍保留现有的编码方式,因此需要自行转码,方法在网上有很多,不再赘述。
查看数据库字符集的若干命令:
show variables like 'character\_set\_%';
SHOW VARIABLES LIKE 'collation_%';
好像命令行运行的MySQL命令不支持UTF8,插入后好像什么都没有,所以
插入数据时可以执行 set names gbk;
之后 set names utf8;
或者使用交互工具插入。
mysql> use sofa
Database changed
mysql> select * from test;
+------+--------+
| id | name |
+------+--------+
| 2 | 娴嬭瘯 |
| 1 | 娴嬭瘯 |
+------+--------+
2 rows in set (0.00 sec)
mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| 2 | 测试 |
| 1 | 测试 |
+------+------+
2 rows in set (0.00 sec)
mysql> show create table test;
+-------+---------------------------------------------------
------------+
| Table | Create Table
|
+-------+---------------------------------------------------
------------+
| test | CREATE TABLE `test` (
`id` int(11) DEFAULT NULL,
`name` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+---------------------------------------------------
------------+
1 row in set (0.17 sec)
mysql> insert into test value(3,'明天')
-> ;
Query OK, 1 row affected (0.14 sec)
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| 3 | 明天 |
| 2 | 测试 |
| 1 | 测试 |
+------+------+
3 rows in set (0.08 sec)