标题:关于mysql的中文模糊查询乱码问题?急!!
只看楼主
wei0000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:80
专家分:136
注 册:2010-3-12
结帖率:91.67%
已结贴  问题点数:20 回复次数:3 
关于mysql的中文模糊查询乱码问题?急!!
select p.userid, p.name,p.mobile,r.USER_TYPE,date_format(r.CREATE_DATE,'%Y-%m-%d %H:%i:%s') from RBAC_USER r,PB_user_ex p where r.USER_ID = p.userid
     and ('"+name+"' is null or p.name like CONCAT('%','"+name+"','%' ))
     and (:MOBILE is null or p.mobile like CONCAT('%',:MOBILE,'%'));

以上是我的查询语句,当我传入的变量name值为中文时,它接受不到值,变成了三个问号,但是传值为英文和数字怎没问题,为什么呢?请哪位高手指教啊!!
查询语句解析后如下:
select p.userid, p.name,p.mobile,r.USER_TYPE,date_format(r.CREATE_DATE,'%Y-%m-%d %H:%i:%s') from RBAC_USER r,PB_user_ex p where r.USER_ID = p.userid and ('???' is null or p.name like CONCAT('%','???','%' )) and (? is null or p.mobile like CONCAT('%',?,'%')) limit ?
搜索更多相关主题的帖子: null 中文 英文 null 中文 英文 
2011-02-25 16:11
gdy0349
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:上海
等 级:版主
威 望:11
帖 子:223
专家分:676
注 册:2008-11-12
得分:10 
这是你程序的问题,不是mysql的问题。你看看你写的程序的编码是什么?再看看mysql的编码是什么?
2011-02-28 10:18
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
得分:10 
楼上正解,主要是编码的问题,两者的编码不相同时用可能会出现乱码!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2011-03-05 19:35
ph1623
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-22
得分:0 
把页面字符换成 utf-8 的试试
2011-03-08 20:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-332768-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.444631 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved