- 论坛徽章:
- 0
|
我用的MySQL的服务器是4.1.1-win的。客户端用sqlyog和mysqlCC。
my.ini里已经设置了
- [mysqld]
- default-character-set=gbk
- default-collation=gbk_bin
- [client]
- default-character-set=gbk
复制代码
用下面的命令建立一个简单的包含enum()类型字段的表格时,show create table 会产生乱码,而用desc却没有这样的问题。
有时输入的数据正确,有时又是乱码,请问为什么?
下面是我建立表格的命令:
- create table `t1`(
- `id` smallint(6) unsigned not null auto_increment,
- `language` enum('中文','英文','法文') not null default '中文',
- primary key(`id`)
- )engine=myisam;
复制代码
下面是show create table t1 \G;的结果:
mysql>; show create table t1 \G;
- *************************** 1. row **************************
- Table: t1
- Create Table: CREATE TABLE `t1` (
- `id` smallint(6) unsigned NOT NULL auto_increment,
- `language` enum('????','????','·¨??') collate gbk_bin NOT NULL default '中文',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=gbk COLLATE=gbk_bin
- 1 row in set (0.01 sec)
- ERROR:
- No query specified
复制代码
下面是desc t1 的结果:
mysql>; desc t1 \G;
- *************************** 1. row **************************
- Field: id
- Type: smallint(6) unsigned
- Null:
- Key: PRI
- Default: NULL
- Extra: auto_increment
- *************************** 2. row ***************************
- Field: language
- Type: enum('中文','英文','法文')
- Null:
- Key:
- Default: 中文
- Extra:
- 2 rows in set (0.00 sec)
- ERROR:
- No query specified
复制代码
为什么两者的结果会显示的不一样?如何才能在enum中正确的使用中文?
Win下问不到答案,只能跑这来求帮助了。  |
|