Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2549273
  • 博文数量: 271
  • 博客积分: 6659
  • 博客等级: 准将
  • 技术积分: 3141
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-17 10:24
文章分类

全部博文(271)

文章存档

2016年(2)

2015年(12)

2014年(7)

2013年(19)

2012年(22)

2011年(81)

2010年(128)

分类: LINUX

2010-09-04 23:49:26

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) |
给主人留下些什么吧!~~