jsp连接oracle查询数据集,中文显示为16进制字符问题!请问为什么?

lguotao 2004-12-25 05:29:24
写法如下:
public String RsToGbook(ResultSet rs){
String tt="";
try{
tt+="<TR>";
tt+="<TD>"+rs.getString("studentid")+"</TD>";
tt+="<TD>"+rs.getString("studentname")+"</TD>";
tt+="<TD>"+rs.getString("gender")+"</TD>";
tt+="<TD>"+rs.getString("phone")+"</TD>";
tt+="</TR>";
}catch(SQLException e){}
return tt;
}tt;
...全文
188 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lguotao 2005-01-07
  • 打赏
  • 举报
回复
怎么这种问题没人能解吗?
现在问题是JSP页面的中文及直接写在JSP的HTML的语句如<TD><%=rs.getString("PHONE") %></TD>
均可显示,但用如下写法却不可显示:
public String RsToGbook(ResultSet rs){
String tt="";
try{
tt+="<TR>";
tt+="<TD>"+rs.getString("studentid")+"</TD>";
tt+="<TD>"+rs.getString("studentname")+"</TD>";
tt+="<TD>"+rs.getString("gender")+"</TD>";
tt+="<TD>"+rs.getString("phone")+"</TD>";
tt+="</TR>";
}catch(SQLException e){
}
return tt;
}
lguotao 2005-01-06
  • 打赏
  • 举报
回复
to mxlmwl(飞星):驱动是用oracle的安装目录/jdbc/lib目录下的class12.jar,且已解压。

to mafirst(mafirst):试过用
studentname = new String(studentname.getBytes("ISO8859_1"), "GB2312");但出错提示studentname为不可识别的字符.studentname的值从数据集中得到.
代码如下:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page language="java" import="java.sql.*"%>
<%@ page import="java.lang.Math.*"%>
<jsp:useBean id="conn" scope="page" class="db.connoracle3"/>
<%!
ResultSet rs=null;
String sql="";
String str="";
int Page=3;
int PageSize=6;
public String ShowOnePage(ResultSet rs,int Page,int PageSize){
str="";
try{
rs.absolute((Page-1)*PageSize+1);
}catch(SQLException e){
}
for(int iPage=1;iPage<=PageSize;iPage++){
str+=RsToGbook(rs);
try{
if(!rs.next()) break;
}catch(Exception e){
//System.err.println(ex.getMessage());
}
}
return str;
}
public String RsToGbook(ResultSet rs){
String tt="";
try{
tt+="<TR>";
tt+="<TD>"+rs.getString("studentid")+"</TD>";
tt+="<TD>"+rs.getString("studentname")+"</TD>";
tt+="<TD>"+rs.getString("gender")+"</TD>";
tt+="<TD>"+rs.getString("phone")+"</TD>";
tt+="</TR>";
}catch(SQLException e){
}
return tt;
}
%>
<%
sql="select * from student";
try{
rs=conn.executeQuery(sql);
}
catch(Exception e){
out.println("访问数据库出错!");
}
%>
<html>
<head>
<title> 分页浏览数据库例</title>
</head>
<body bgcolor="#ffffff">
<h2><ALIGN="CENTER">JSP中的分页控制,VERSION1</h2>
<hr>
<center>
<Table border >
<TR>
<TH bgcolor="white">学员编号</TH>
<TH bgcolor="white">学员姓名</TH>
<TH bgcolor="white">性别</TH>
<TH bgcolor="white">联系电话</TH>
</TR>
<%
out.println(ShowOnePage(rs,Page,PageSize));
%>
</table>
</center>
</body>
</html>
lguotao 2005-01-06
  • 打赏
  • 举报
回复
自己UP下!
请问是否是显示字段值的写法有问题啊!
因为在另一个页面用如下写法却可以显示:
<Table border bgcolor=#00FFFF>
<TR>
<TH bgcolor="white">学员编号</TH>
<TH bgcolor="white">学员姓名</TH>
<TH bgcolor="white">性别</TH>
<TH bgcolor="white">联系电话</TH>
</TR>
<% if (rs!=null){
while(rs.next()) { %>
<TR>
<TD><%=rs.getString("STUDENTID") %></TD>
<TD><%=rs.getString("STUDENTNAME") %></TD>
<TD><%=rs.getString("GENDER") %></TD>
<TD><%=rs.getString("PHONE") %></TD>
</TR>
<%}
rs.close();}
%>
</Table>
wjr1982et 2004-12-28
  • 打赏
  • 举报
回复
楼主的问题是什么,说清楚点好吗?究竟是什么显示
为16进制的字符啊。
希望把相关的代码都贴出来,好帮你分析下!
lguotao 2004-12-28
  • 打赏
  • 举报
回复
自已up下,请高手多帮忙!
mafirst 2004-12-28
  • 打赏
  • 举报
回复
把中文字段进行8859到2312的转码就可解决问题。
studentname = new String(studentname.getBytes("ISO8859_1"), "GB2312");
mxlmwl 2004-12-28
  • 打赏
  • 举报
回复
你的oracle驱动包不对,比如你的oracle是9i的,而你用的是8i的驱动包,就会出现这个问题.到你的oracle的安装目录下,找到jdbc/lib目录下,使用那个class12.jar包就ok了.
文本编辑器,支持文本编辑,比较,FTP编辑,FTP上传下载,加密,十六进制编辑,列模式,回行显示,正则表达式,多行查找和替换,代码折叠,关键字高亮显示,编辑400GB的大文件,比较100GB的大文件,对超过1G的大文件排序,删除重复,执行自定义脚本自动修改文件。 PilotEdit 中文多语特别版PilotEdit 中文多语特别版 PilotEdit 中文版- 功能 1. PilotEdit支持超过400G的文件 >编辑超过400GB(400亿行)的文件 >上传/下载超过4G的FTP文件 >加密/解密超过4G的文件 >比较超过4G的文件 2. 全面支持UNICODE文件和DOS/UNIX文件 >快速改变多个文件的编码 >在不同编码的文件中拷贝文字时自动调整文字编码 3. 自定义的文件类型和关键字高亮显示 >支持超过20种文件类型 >支持自定义文件类型 >对不同的文件类型定义不同的TAB和缩进 比如,您可以定义当用户按TAB键时,在C/C++中输入TAB键,而在Java文件中输入四个空格 4. 十六进制编辑模式 >在十六进制编辑模式中可以很方便地插入,修改,删除,拷贝,粘贴 >十六进制编辑模式查找和替换 >当从十六进制编辑模式切换回文本模式时自动检测文件类型 >在十六进制编辑模式和文本模式中无限的undo/redo 5. 列模式 >键盘输入的字符将被插入到列模式中所有选中的行 >如果粘贴一行文字,这行文字将被插入到列模式中所有选中的行 >如果粘贴多行文字,这些文字将被逐行被插入到列模式中选中的行 6. 无限的undo/redo >在十六进制编辑模式和文本模式切换后仍然可以无限次地undo/redo 7. 回行显示 >即便在编辑一个几百MB的文件时,切换到回行显示仍然非常迅速 8. 编辑FTP文件 >打开和保存FTP文件 >删除多个FTP文件和目录 >上传/下载多个FTP文件和目录 9. 基于多行的查找和替换 >查找/替换多行文本 >用正则表达式查找/替换多行文本 10. 文件比较和合并 >比较两个基本点目录 >比较合并两个文件 >在文件比较窗口中直接编辑文件 >当文件内容改变时文件比较窗口自动更新比较结果 >在文件比较窗口中查找/替换 >查找上一个/下一个不同的文本块 >将所有相同/不同的行拷贝到剪贴板。通过这个功能,我们可以很方便地找出第一个文件中存在而第二个文件中不存在的行 11. 自定义字符串表 >单击即可添加一个自定义的字符串 >在所选文本的前后分别添加自定义的字符串 12. 正则表达式 >用正则表达式查找/替换多行文本 13. 脚本文件 >可以把常用的正则表达式定义在脚本中,直接运行脚本即可替换文字 14. 256位 AES加密/解密 >用PilotEdit直接透明地编辑一个加密的文件 >加密/解密多个文件和目录 >加密/解密超过4G的文件 15. 文件组 >双击文件组可以快速打开多个文件 16. 在多个目录中查找/替换 >支持多行的查找/替换 17. 排序 >按升序/降序排序 >按文本或数字排序 >按一列数据排序 >按正则表达式排序 18. 查找/删除重复的行 >在打开的文件中查找/删除重复的行 >按文本或数字比较 >按一列数据比较 >按正则表达式比较 19. 收集字符串 >将匹配正则表达式字符串拷贝到的剪贴板。比如,我们可以把一个文件中所有的Email地址拷贝到剪贴板。 20. 将打开的文件用原目录结构另存为新文件 >同时拷贝选中的文件和目录结构 21. 编辑SFTP文件 >打开和保存SFTP文件 >删除多个SFTP文件和目录 >上传/下载多个SFTP文件和目录 PilotEdit支持以下操作系统 Windows 2000 Windows 2003 Windows XP Windows Vista Windows 7 Windows 2008 Windows 8 PilotEdit不支持Win98和 WinNT. PilotEdit支持以下和更多文件类型: C, C++ Files Java Files HTML Files XML Files Oracle SQL Files UNIX/Linux Shell Files JSP TCL/TK Files BAT files PilotEdit Script Javascript Files PHP ASP Assembly ASP.NET CSS Visual Basic Perl C# Python Ruby XHTML Files COBOL AHK Script Inno Setup Script AutoIt Script
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K

81,114

社区成员

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

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