我作了一个FORM表单,用来提交对数据库的检索条件。检索程序是jsp的。在表单里如果输入的是中文,jsp形成的sql语句就是乱码。后来找了一个类(内容如下),但是还是没有解决。我把这个类的内容贴上,麻烦大家帮看看,谢谢了。如果有什么好的方法也麻烦告诉一下!select * from xiangmu where xmmc like '%??????%'
上面这个是以中文内容提交过来形成的sql语句。下面的是类内容:package Convert;
public class isotogb2312 {
public static String convert(String str) {
try {
byte[] bytesStr=str.getBytes("ISO-8859-1");
return new String(bytesStr,"gb2312");
} catch(Exception ex) {
return str;
}
}
}
上面这个是以中文内容提交过来形成的sql语句。下面的是类内容:package Convert;
public class isotogb2312 {
public static String convert(String str) {
try {
byte[] bytesStr=str.getBytes("ISO-8859-1");
return new String(bytesStr,"gb2312");
} catch(Exception ex) {
return str;
}
}
}
解决方案 »
- 问下关于TypeError, Object [object Object] has no method 'appendChild' 的问题
- struts1 parameter 属性问题,求达人解答
- 菜鸟问java中如何导入SQL包,mysql包,
- 关于ResultSet结果集的问题
- 关于数据库连接池的用java类连接的问题
- 为什么我读不出表单内的值!!!
- 请问为什么struts的validate检查出ActionErrors返回的页面没有了CSS的效果
- 关于applet内存益处问题!
- 菜问题,各位大哥帮小弟看看这段程序
- jsp中插入有主关键字的数据库的sql语句如何写???
- servlet在jsp编程上有什么用处呢?
- 求助javah生成.h文件失败
这样会产生你说的那种情况,不妨查看下JSP编码方式!供参考
看行不行,
再着 你提交的form的method是post还是get,
<%@ page contentType="text/html; charset=GBK" %>
把这个地方改成GBK byte[] bytesStr=str.getBytes("GBK"); 还是一样的问题。
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage=""%> 也就是说jsp的页面编码是gb2312,不会影响那边传过来的ISO-8859-1类型的参数。所以用我找的那个类应该是正确的呀。帮忙看看!