Mysql不支持GBK及解决方法
Mysql不支持GBK及解决方法 用packages安装的mysql5.1,不支持GBK编码,只支持UTF8编码。具体表现:
在打开一个用GBK编码的数据库时,提示
ERROR 1273 (HY000): Unknown collation 'gbk_chinese_ci' in table 'data_plus' definition
set names gbk; 和 SET character_set_client = gbk;提示:
ERROR 1115 (42000): Unknown character set: 'gbk'
(不理解什么是ports编译,按上篇方法重新编译的)
{
最后没办法,只好用ports重新编译。
cd /usr/ports/databases/mysql51-server
make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_COLLATION=gbk_chinese_ci BUILD_STATIC=yes install clean
(其实,在make install clean 时,就有个参数提示,把前三个设置好就可以了。)
}
查看支持的编码:
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
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;
阅读(3645) | 评论(0) | 转发(0) |