问题描述
就是用eclipse先连接数据库,之后制作一个jsp网页,在网页上登录进去,分为学生和管理者,管理者可以修改删除成绩,学生只能查询。<@pagelanguage="java"contentType="textml;charset=utf-8"pageEncoding="utf-8"%><%@pageimport="com.microsoft.sqlserver.jdbc.*,java.sql.Connection,java.sql.DriverManager,java.sql.PreparedStatement,java.sql.ResultSet"%><html><body><%Stringusername=(String)request.getParameter("username");Stringpassword=(String)request.getParameter("password");Class.forName("com.microsoft.sqlsever.Driver");Connectionconn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433/sg","sa","11480010234");//帐号密码Stringsql="select*fromUserwhereusername="+username+"andpassword="+password;PreparedStatementpstmt=null;booleanflag=false;try{pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery();while(rs.next()){flag=true;break;}}catch(Exceptione){e.printStackTrace();}finally{try{if(rs!=null)rs.close();if(pstmt!=null)pstmt.close();if(conn!=null)conn.close();}catch(Exceptione){e.printStackTrace();}}if(flag){request.getRequestDispatcher("welcome.jsp").forward(request,response);}else{request.getRequestDispatcher("index.jsp").forward(request,response);}%></body><html>为什么进去登录之后就显示乱码,不能进入下一个网页啊
解决方案
解决方案二:
数据库的文字格式是什么?是utf-8吗?还是其他?
解决方案三:
1确保jsp页面所有有关字符集设定的地方,统一设定为utf-82使用post提交3对请求统一编码,request.seCharacterEncoding("utf-8")4数据库字符集设定为utf-8,
解决方案四:
在eclipse中选中jsp页面点击鼠标右键,选择属性,编码方式选择utf-8
解决方案五:
看看你页面最上面创建的是什么编码格式如果不是UTF-8可以加上或者后台接收参数时进行编码格式转换Stringvalue=newString(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");如果以上都解决不了的话可能是数据库编码设置问题MYSQL一般会出现这样的问题可以用以下方法查看编码格式其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;character_set_results结果集的编码;character_set_server数据库服务器的编码;只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
解决方案六:
继续深入研究一下。