举个例子
select * from table where title like "%成龙%"
这样查询出来为什么就结果不是很正确,有些没带成龙的或只带一个成的都会查询出来
select * from table where title like binary "%成龙%"
这样查询就没有结果出来很郁闷。。title 字段是varchar(200)的请赐教!!!
select * from table where title like "%成龙%"
这样查询出来为什么就结果不是很正确,有些没带成龙的或只带一个成的都会查询出来
select * from table where title like binary "%成龙%"
这样查询就没有结果出来很郁闷。。title 字段是varchar(200)的请赐教!!!
建议title字段定义成utf-8格式。若为ansi char格式,对于双字节字符易产生楼主所发现差错,主要原因:
第一个汉字的后一字节与第二汉字的前一字节恰好可匹配“成”字,第二个汉字的后一字节与第三汉字的前一字节恰好可匹配“龙”字,这样就有问题了。若为unicode无此问题。
php中 一个汉字在utf-8中为3个字节
$topic_name ="成龙";
like '%" . $topic_name ."%'
试试
mysql_query('select * from table where title like "%成龙%"')
但是前台页面是gb2312的