由于我使用的是XAMPP V1.7.4 集成环境中的MySQL 版本,其缺省的字符集(Default Charset )是Latin1 ,所以不支持中文。
2.1 修改MySQL 全局变量
Ø 首先查看字符集相关的全局变量的当前值
mysql> show variables like ‘%char%’;
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | [MySQL]/share/charsets/ |
+--------------------------+---------------------------------------------------------+
Ø 修改数据库的字符集
mysql> set character_set_database=utf8;
在我的环境里没有将character_set_server 改为utf8 。
2.2 指定数据库表字符集
Ø 首先查看字符集相关的全局变量的当前值
mysql> use [database] ;
mysql> show create table [table] ;
结果是表【table 】的元数据,其中包括表的字符集设置。如果是latin1 ,则需要改为utf8 。
mysql> alter table [table] convert to character set utf8;
事后弥补当然不如刚开始就走在正确的道路上。所以在创建表时就应该显式地指定字符集为utf8 。
mysql> create table [table]
-> (
-> [field declarations]
- > ) character set = utf8 ;
2.3 参考文章
http://blog.sina.com.cn/s/blog_4de067e40100ebvm.html
http://blog.csdn.net/acmain_chm/archive/2009/05/12/4174186.aspx