我在“搜索”页面(
http://www.cnsw.org/bbs/search.php)中用中文进行搜索,搜索结果经常不尽人意,出现很多无关的信息。
这个与MySQL的字符集和字段属性有关,不过现在则没必要去重新编译MySQL或修改字段属性。可以用较为简单的方法实现中文精确搜索,建议做如下改进:
在search.php及其相关页面中的SELECT语句的WHERE子句中加入BINARY,这样就可以使中文搜索结果较为准确。举例如下:
SELECT * FROM tablename WHERE BINARY(title) LIKE '%$search_text%';
SELECT * FROM tablename WHERE title LIKE BINARY '%$search_text%';
我在MySQL 3.2x, 4.0, 4.1中做了实验,均支持BINARY
如果不太麻烦,希望能对此进行改进,以使大家获得更好的查询效果。谢谢!
[
Last edited by come_on_order
on 2005-7-26 at 00:02 ]