[字号:  ]

中文字符匹配

发布时间:2008-10-06 23:34   作者: xietian2050   信息来源: PHPChina 开源社区门户
我遇到一个很奇怪的问题:
$sql="select USER_NAME from user where USER_NAME like '%周琴%'";

搜索的结果竟然有两个

USER_NAME
------------------------------------------
周琴
------------------------------------------
周芹
------------------------------------------

按理讲应该只有周琴一个,没想到却出现两个,请各位兄台解忧。

最新回复

于安 at 2008-10-07 00:19:02
字段类型是什么???
spzgy at 2008-10-07 00:27:47
mysql 4.0  只有 latin1 字符集
在 latin1 字符集中 周琴 和 周芹 编码是一样的,
类似的例子还很多,比如:nono 和 洋洋,六库 和 名酷
所以,现在的 mysql 支持多字符集,不会出现这种问题
我在DV论坛转DZ的时候也遇到这个问题:http://www.discuz.net/viewthread.php?tid=384475&page=1#pid3040208

[ 本帖最后由 spzgy 于 2008-10-7 00:29 编辑 ]
netfoot at 2008-10-07 00:31:55
is that
xietian2050 at 2008-10-13 14:34:29
我已经把问题解决了,
$sql="select USER_NAME from user where USER_NAME REGEXP '%周琴%'";
问题就解决了。
我个人认为和编码有关,至于细节我就不清楚了。

[ 本帖最后由 xietian2050 于 2008-10-13 14:53 编辑 ]