当前位置: 代码迷 >> Java Web开发 >> 关于MYSQL语句查询中文字符的问题
  详细解决方案

关于MYSQL语句查询中文字符的问题

热度:265   发布时间:2006-12-30 20:18:55.0
关于MYSQL语句查询中文字符的问题
最近写了一个JSP网页该网页的主要功能是 实现网站 站内查询
使用的数据库是MYSLQ
SQL语句如下:
select * from table_name where binary name like 'name%' //name是一个字符串变量,该值是有用户输入的
在查询数据库的时候 英文 或数字 的字符 可以查找到相应的记录 但是中文的却找不到
但是在CMD下进入MYSQL里 进行查询却可以查到想要查找的记录
如: select * from table_name where binary name like '王%' 就可以出现一些相应的记录

大家有谁遇到过这种情况 或者 知道怎么解决的 告诉我好么 谢谢
搜索更多相关主题的帖子: MYSQL  语句  name  字符  数据库  

----------------解决方案--------------------------------------------------------

晕 半天了 怎么连看的人都没有啊
都做什么去了 各位斑竹 大大门 拉选票去了么


----------------解决方案--------------------------------------------------------
又是编码的问题,改改编码试试

----------------解决方案--------------------------------------------------------
你可以把代码贴上来,帮你看看!
----------------解决方案--------------------------------------------------------

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了


----------------解决方案--------------------------------------------------------
  相关解决方案