通过Servlet中的System.out.println(department+major+studClass);
String sql = "select * from studinfo where department=‘"+department+"’and "+"major=‘"+major+"’ and "+"studClass=‘"+studClass+"’";这两句访问数据库相关的内容,前一句在控制台上输出的很正常,后面就报错,出现下面的错误,不知道该怎么办了……页面和数据库中使用的均是utf-8的编码格式!希望大家帮帮忙啊……
java.sql.SQLException: Unknown column '???è????—????§‘???????????????' in 'where clause' Query: select * from studinfo where department=‘计算机科学与技术’ and major=‘信息管理与信息系统’ and studClass=‘1班’ Parameters: []
at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:542)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:399)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:488)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:507)
at com.ccbupt.Graduated_IMS.servlets.checkServlet.doGet(checkServlet.java:52)
at com.ccbupt.Graduated_IMS.servlets.checkServlet.doPost(checkServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
String sql = "select * from studinfo where department=‘"+department+"’and "+"major=‘"+major+"’ and "+"studClass=‘"+studClass+"’";这两句访问数据库相关的内容,前一句在控制台上输出的很正常,后面就报错,出现下面的错误,不知道该怎么办了……页面和数据库中使用的均是utf-8的编码格式!希望大家帮帮忙啊……
java.sql.SQLException: Unknown column '???è????—????§‘???????????????' in 'where clause' Query: select * from studinfo where department=‘计算机科学与技术’ and major=‘信息管理与信息系统’ and studClass=‘1班’ Parameters: []
at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:542)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:399)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:488)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:507)
at com.ccbupt.Graduated_IMS.servlets.checkServlet.doGet(checkServlet.java:52)
at com.ccbupt.Graduated_IMS.servlets.checkServlet.doPost(checkServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
解决方案 »
- 谁动了我的MyEclipse
- java基础问题,续,请高手指点指点我这个小菜鸟
- utf8的html静态页为什么自动变成西欧的?
- ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量
- 一个棘手的问题
- 请教大家个阿拉伯语转码问题(java)
- 怎么解开war包,马上给分
- 请问大家都是用的什么JSP服务器环境?并希望能告诉哪里有下载?
- 这个异常是什么意思?
- JSP
- org.hibernate.MappingException: Unknown entity: java.lang.String
- 一个简单的js问题.没用过html标签.大家帮个忙
public static String convertGBK(String s) throws UnsupportedEncodingException{
return new String(isNull(s).getBytes("iso-8859-1"),"gbk");
}
不然你用SQL传进去的值就不能识别的,
确定了之后在通过转换函数将你输入的字符转换下 这样就没问题.
sql 进去的应该是 如:
return new String("SQL中的STRING".getBytes("截面显示的字符集"),"MYSQL数据库的集合");
查询出来的应该是 :
return new String("结果RESULT".getBytes("MYSQL数据库的集合"),"截面显示的字符集");