小弟根据碧轩大哥对UTF-8的总结http://www.linuxfans.org/nuke/mo ... ic&t=101961
写了类似下面的表格:
CREATE TABLE `table01` (
`field01` varchar(50) character set utf8,
`field02` text character set utf8,
PRIMARY KEY (`field01`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
这个表格在MySQL-4.1.7下工作正常。但在MySQL-4.0.18下无法创建,直到我把表修改为:
CREATE TABLE `table01` (
`field01` varchar(50) character set utf8,
`field02` text,
PRIMARY KEY (`field01`)
) ;
在MySQL-4.0.18下才顺利创建。
请问在MySQL-4.0.x下为什么varchar(50)类型后面可以使用character set utf8,而text类型后面不可以?如何才能将text类型修改为UTF-8呢?
[quote:c440fb9177="Bill_huohuo"]另外,关于要在PHP程序向数据库插入数据前加上mysql_query("SET NAMES 'utf8'");的问题,小弟试了试,不知为什么,在我的MySQL-4.1.7上似乎是不需要,只要把表里那些field加上character set utf8就可以了。大概是我设置上的问题吧。[/quote]