关于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.useridand ('"+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 ?