//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下却可以查出结果
郁闷
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下却可以查出结果
郁闷
再查询
1. 你的C#程序中到底是使用的什么字符编码
2. 根据你的字符编码,初始化你的MYSQL数据库连接的时候,设置正确的字符集。 你可以执行SQL语句 "set names 'gbk'" 或者 "set name 'utf8'"http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码