中文显示问题,从库中读取字段时,有一个字符变成问号

echolwl 2005-04-12 09:40:05
中文显示问题,从库中读取字段时,有一个字符变成问号
tomcat 5.0 + oracle9
eclipse开发环境
为了说明问题,我专门写了一小段测试程序
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="XXX.XXX.drivers.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.HashMap"%>
<%@ page import="XXX.XXX.ldap.*"%>
<%@ page import="XXX.XXX.util.Toolkit"%>
<%@ page import="java.text.DecimalFormat"%>
<%
String sql = "select * from t_programinfo a where a.idnavigation = 173532";
Connection conn = null;
try
{
conn = new DBConnect("jdbc/oracle").getAConnection();
java.sql.Statement st1 = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs1 = st1.executeQuery(sql);
//String aa = rs1.getString("CSUBORDINATETITLE");
while(rs1.next()){
out.print(rs1.getString("CSUBORDINATETITLE"));
//out.print(Toolkit.transGB(rs1.getString("CSUBORDINATETITLE")));
}
}
catch(Exception e){

}
%>

库中CSUBORDINATETITLE这个字段中的数据是汤姆.杰克
我读取后显示在页面上的数据是:汤姆?杰克
其中我注释掉的那行中的transGB也不能有效的解决数据库中凡是有“.”的数据
其它所有读取中文都是正常的,只有数据库中出现“.”时候会变成“?”


请告知是什么原因?谢谢了~~~~
...全文
343 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaxuan92021 2005-04-13
  • 打赏
  • 举报
回复
oracle数据库中用UTF-8,然后在页面也用UTF-8或者ISO-8859-1,这样应该是可以解决的!
shirley_6693_drm 2005-04-12
  • 打赏
  • 举报
回复
在中文输入状态下,无法输入'.'。所以从数据库中取出的那个'.'的编码应该不是GB2312的。可以换个编码集试试。另外,你的数据库用的什么编码?
DreamDragon_NEU 2005-04-12
  • 打赏
  • 举报
回复
charset=gb2312
把字符集换成utf-8试试~~~
echolwl 2005-04-12
  • 打赏
  • 举报
回复
怎么没人理我?
njtucomputer 2005-04-12
  • 打赏
  • 举报
回复
String originalStr="录入的字符串";
byte[] tempStr=originalStr.getBytes("ISO8859_1");
String newStr=new String(tempStr);
joyaga 2005-04-12
  • 打赏
  • 举报
回复
编码的问题用 gbk或urf-8试试

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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