极为奇怪得中文乱码问题,再网上找了很多资料都不行请各位大侠帮忙!!!!!!高分相赠!!!!!!!!!
op:win2000
db:oracle8i
app_server:resin2.12
在jsp上显示乱码
程序如下:
<%@ page contentType="text/html;charset=gb2312"%>
<!--首先导入一些必要的packages-->
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<!--告诉编译器使用SQL包-->
<%@ page import="java.sql.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%
//变量声明
ResultSet rs;
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
java.lang.String sTest;
int i;
intPageSize = 6;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:test";
//orcl为你的数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from hh_user";
rs=stmt.executeQuery("select * from ( select lid,Lmail ,TO_CHAR(Lputdate,'yyyy-mm-dd') from hh_comail ORDER BY lid DESC)");
//设置一页显示的记录数
//获取记录总数
rs.last();
intRowCount = rs.getRow();
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
//request.setCharacterEncoding("GB2312");
%>
<html>
<head>
<title>- - Oracle</title>
</head>
<body>
<BR><BR>
<CENTER><h2>用户列表</h2></CENTER>
<BR><BR>
<table border=1 width="60%" cellspacing="0" bordercolorlight="#CEEFFF" bordercolordark="#FFFFFF" align="center">
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
<%
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
while(i<intPageSize && !rs.isAfterLast()){
%>
<tr>
<td>
<%
//sTest = new String(rs.getString(2).getBytes("ISO-8859-1"),"GBK");
//sTest = new String(rs.getString(2).getBytes("ISO-8859-1"));
sTest = rs.getString(2);
out.print(sTest );
%></td>
<td><%=rs.getString(2)%></td>
</tr>
<%
rs.next();
i++;
}
}
%>
</table>
<TABLE width="60%" align="center">
<TR>
<TD align="center" >
共<%=intRowCount%>条 第<%=intPage%>/<%=intPageCount%>页
<%if(intPage>2){%>
<a href="/examples/lx/test/testoracle_pp.jsp?page=1">首页</a>
<%}else%>
首页
<%if(intPage>1){%><a href="/examples/lx/test/testoracle_pp.jsp?page=<%=intPage-1%>">上一页</a>
<%}else%>
上一页
<%if(intPage<intPageCount){%><a href="/examples/lx/test/testoracle_pp.jsp?page=<%=intPage+1%>">下一页</a>
<%}else%>
下一页
<%if(intPage!=intPageCount){%>
<a href="/examples/lx/test/testoracle_pp.jsp?page=<%=intPageCount%>">末页</a>
<%}else%>
末页
</TD>
</TR>
</TABLE>
</body>
</html>
<%
//关闭结果集
rs.close();
//关闭SQL语句对象
stmt.close();
//关闭数据库
conn.close();
%>