写一个查询条件时的问题如下:如我想写一个字段中包含“李”字的所有记录$str="左旗";select * from table where 字段名 = '$str';显示的记录中除了包含”左旗”字的记录,还包含“子焉”字的记录。经过查询这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。把语句改成select * from table where BINARY 字段名 = '$str';问题解决!不过问题出来了!采用这种方式就不能应用到相关字段的索引很影响效率!
不知还有啥其它好的解决办法没有!最好是不改数据库编码(原库为latin1)请懂行的朋友多多指点^_^