使用的数据库是MYSLQ
SQL语句如下:
select * from table_name where binary name like 'name%' //name是一个字符串变量,该值是有用户输入的
在查询数据库的时候 英文 或数字 的字符 可以查找到相应的记录 但是中文的却找不到
但是在CMD下进入MYSQL里 进行查询却可以查到想要查找的记录
如: select * from table_name where binary name like '王%' 就可以出现一些相应的记录
大家有谁遇到过这种情况 或者 知道怎么解决的 告诉我好么 谢谢
----------------解决方案--------------------------------------------------------
晕 半天了 怎么连看的人都没有啊
都做什么去了 各位斑竹 大大门 拉选票去了么
----------------解决方案--------------------------------------------------------
又是编码的问题,改改编码试试
----------------解决方案--------------------------------------------------------
你可以把代码贴上来,帮你看看!
----------------解决方案--------------------------------------------------------
MYSQL在4.1之前对中文的支持一直不是很好,4.1以后有了改善.
在DOS下可以查找到中文,但在MYSQL自带的设计器下如(MySQL Query Browser)中你看到的则是乱码!
其实有过开发经验的,一看就明白.现在送你两个字符转换类(以前项目用的);
根据所以用的数据库的编码方式而用.
public static String iso8859togbk(String in) throws Exception{
String re=null;
try {
re = new String(in.getBytes("iso8859-1"), "gbk");
}
catch (Exception e)
{
throw new Exception("error in convert charset");
}
finally{
return re;
}
}
public static String iso8859togb2312(String in) throws Exception{
String re=null;
try {
re = new String(in.getBytes("iso8859-1"), "gb2312");
}
catch (Exception e)
{
throw new Exception("error in convert charset");
}
finally{
return re;
}
}
----------------解决方案--------------------------------------------------------
i
----------------解决方案--------------------------------------------------------
我前面也以为问题是出在编码的问题上
但是在进数据库 和出库的时候都做了转换啊
代码涉及到好多文件 传上来不太方便
----------------解决方案--------------------------------------------------------
此问题已经解决 所有的网业我用filter 进行了过滤 设置中文编码
在Tomcat\config\server.xml 里的 Connector容器里 设置了URIEncoding="GBK" 后就OK了
----------------解决方案--------------------------------------------------------