在别的论坛收集到一些资料,我试了经过这三步就可以存中文了。
mySql版本4.1.14
步骤:
1、 my.ini文件里设置default-character-set=gb2312
登录mysql的时候字符集要选gb2312
mysql -h localhost -uroot -p --default-character-set=gb2312
2、每建一个库都要设定字符集!
CREATE DATABASE test2 DEFAULT CHARACTER SET gb2312 ;
可以用status查看Db,Client,Conn.的编码状态是否是gb2312
3、建表时也最好设定字符集,确保万无一失!
建表也要加上:
DEFAULT CHARACTER SET gb2312;
问题: 如果我不修改用原来的默认latin1格式会出问号,
如果我改成utf-8则中文显示不出来,插入为空。
CREATE TABLE `books` (
`id` varchar(8) NOT NULL default '',
`name` varchar(24) default NULL,
`title` varchar(96) default NULL,
`price` float default NULL,
`yr` int(11) default NULL,
`description` varchar(30) default NULL,
`saleAmount` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
这个表的类型为varchar的字段的字串集都是utf8,数据库的字符集也为utf8;
用mysql> alter table books convert to character set gbk;作转换后变成:
CREATE TABLE `books` (
`id` varchar(8) character set gbk NOT NULL default '',
`name` varchar(24) character set gbk default NULL,
`title` varchar(96) character set gbk default NULL,
`price` float default NULL,
`yr` int(11) default NULL,
`description` varchar(30) character set gbk default NULL,
`saleAmount` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
明显可以看到字段类型为varchar的字符集都变成了gbk,但是数据库的字符集仍为utf8;
如果想连数据库的字符集也变成gbk,就要用
mysql> alter database bookdb default character set gbk;
环境:vc6.0,mysql5.1,mysql ODBC5.1 现象: mysql5.1在liunx服务器上,汉字显示正常。 取出数据后,页面显示数据库取出的值表示为:?? 上网找了些相关资料: 建一个 ODBC 数据源,指向你的数据库,并在该数据源配置项 Initial Statement 中填入 SET CHARACTER SET GBK