mysql中文查询得不到结果

dxyjimmy 2011-03-04 02:54:02
//String sql = "select * from file where name LIKE BINARY '%"+name+"%'";
String sql = "SELECT * FROM file WHERE locate(name,\'"+name+"\') > 0;" ;
//String sql= "SELECT * FROM file WHERE locate(name,'"+name+"') > 0";
//String sql = "select path from file where name LIKE '%"+name+"%'";
//String sql = "select path from file where name LIKE ?";
以上sql语句我都试过,都得不到值;可是控制台打印出来的sql语句,我粘贴到cmd上运行,可以得到结果;
运行 show variables like 'character\_set\_%';显示
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
+--------------------------+--------+
都搞一天了,真不知道该怎么办了
如果参数是英文的话,程序运行就可以得到结果,如果name中包括中文,程序运行就得不到结果,但打印出的sql在cmd下却可以查出结果
郁闷
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaliuliu 2013-07-05
  • 打赏
  • 举报
回复
楼主怎么搞定的,能说说步骤吗?我也遇到了同样的问题,希望分享
dxyjimmy 2011-03-04
  • 打赏
  • 举报
回复
是编码问题 搞定了 谢谢了
王向飞 2011-03-04
  • 打赏
  • 举报
回复
注意你客户端连接的编码方式
ACMAIN_CHM 2011-03-04
  • 打赏
  • 举报
回复
字符集设置的问题。

两个地方要注意。
1. 你的C#程序中到底是使用的什么字符编码
2. 根据你的字符编码,初始化你的MYSQL数据库连接的时候,设置正确的字符集。 你可以执行SQL语句 "set names 'gbk'" 或者 "set name 'utf8'"

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
WWWWA 2011-03-04
  • 打赏
  • 举报
回复
SET NAMES UTF8
再查询

57,065

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧