极为奇怪得中文乱码问题,再网上找了很多资料都不行请各位大侠帮忙!!!!!!高分相赠!!!!!!!!!

lisunway 2003-06-16 09:00:22
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();
%>




...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lisunway 2003-06-19
  • 打赏
  • 举报
回复
还是不行大家帮忙!
Alan 2003-06-16
  • 打赏
  • 举报
回复
这个是resin本身的编码问题
在resin的xml文件中设置字符集
页面上一般就不用iso转码了
yuecongch 2003-06-16
  • 打赏
  • 举报
回复
new String(rs.getString(2).getBytes("gb2312"),"ISO8859_1")
shaokun305 2003-06-16
  • 打赏
  • 举报
回复
如果你的数据库中的是中文,那么有<%@ page contentType="text/html;charset=gb2312"%>
应该没问题/
alemjann 2003-06-16
  • 打赏
  • 举报
回复
gb2312
zuanbao2000 2003-06-16
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312"%>

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧