CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

请问:如何实现在jsp页面中往数据库中添加中文记录!

楼主yeslebk(yeslebk)2002-06-09 13:45:26 在 Java / Web 开发 提问

我现在添加的中文记录,再在jsp页面页面取出时出现乱码,但在dos环境下添加的中文记录没问题。请问该如何解决!谢谢!  
  例如:String   sql=insert   into   list_name(id,name)   values('100001','中文');  
              dbaccess.statement.executeQuery(sql); 问题点数:20、回复次数:9Top

1 楼powerball(力量)回复于 2002-06-09 14:15:59 得分 5

通过字符串添加,用getbyte操作。  
  public   static   String   getStr(String   str){  
            try{  
                    String   temp_p=str;  
                    byte[]   temp_t=temp_p.getBytes("ISO8859-1");  
                    String   temp=new   String(temp_t);  
                    return   temp;  
            }  
            catch(Exception   e){   System.out.println("Error:"+e.getMessage());  
                       
            }  
            return   "NULL";  
      }  
   
   
  调用的时候  
  publicTools.getStr(request.getParameter("id"))//接受表单提交的数据  
  你可以用String   s   =   publicTools.getStr('中文');Top

2 楼yeslebk(yeslebk)回复于 2002-06-09 16:06:39 得分 0

我是先在jsp中声明了方法getstr(),在用String   s   =   publicTools.getStr('中文');好像不行!Top

3 楼Andrawu(晓彬)回复于 2002-06-09 17:07:36 得分 10

请你看看你的库中的中文是不是乱码?如果不是乱码则不用转换。只要在jsp中加:<%@   page   contentType="text/html;charset=gb2312"%>  
   
  如果是乱码,则应在insert数据之前就要转换。  
   
  这个问题说了不知多少次了。请你们在问此问题时在论坛里先搜索一下。  
  拜托了。  
   
  Top

4 楼yeslebk(yeslebk)回复于 2002-06-10 09:02:46 得分 0

我在库中可以读出中文,但用insert往数据库中写中文时却出现了乱吗,  
  请问该如何转换sql语句中的中文参数?谢谢!Top

5 楼xycleo()虚竹和尚()回复于 2002-06-10 09:16:13 得分 0

<%@   page   contentType="text/html;charset=gb2312"%>Top

6 楼yeslebk(yeslebk)回复于 2002-06-10 09:37:21 得分 0

这是我的代码请问那里错了!谢谢!  
  <%@   page   import="java.sql.*"     contentType="text/html;charset=gb2312"   %>    
  <%--mysql中的db_name库--%>  
  <jsp:useBean   id="dbaccess"   class="db.DbAccess"   scope="session"/>  
  <%--查找search--%>  
  <%=request.getParameter("id")%>  
  <%  
      String   temp_0="中文";  
      String   abc;  
      abc=new   String(temp_0.getBytes("iso8859-1"),"gb2312");  
      String   sql_s="select   *   from   list_name   where   name=\'"+abc+"\'";  
      dbaccess.resultset   =   dbaccess.statement.executeQuery(sql_s);        
      while   (dbaccess.resultset.next()){  
              out.print(dbaccess.resultset.getString("name"));  
      }  
  %>Top

7 楼zijianyi(紫剑伊)回复于 2002-06-10 09:37:51 得分 0

是的,中文问题我只用过  
   
  <%@   page   contentType="text/html;charset=gb2312"%>  
   
  不知道你们怎么遇到那么多问题啊?  
   
  还是resin好!Top

8 楼piscean_163(言而有信)回复于 2002-06-10 21:49:16 得分 5

我用tomcat4+sqlserver,插入中文没有问题。  
  多弄点错误调试信息看看。  
  下面是我用的insert代码,你改改表名和参数,在试试:  
   
  public   String   insertRecord(String   title,   String   author,   String   content,   int   fatherId,   String   link,   String   email)    
  throws   SQLException   {  
  String   sql;  
  byte[]   temp   =   {1};  
  int   authorId   =   3;  
   
  sql   =   "insert   into   post   (title,   author,   content,   fatherid)   values   ('";  
  sql   +=   title   +   "',   '"   +   author   +   "',   '"   +   content   +   "',   '"   +   fatherId   +   "')";  
   
  try   {  
  temp   =   sql.getBytes("iso-8859-1");  
  }catch   (UnsupportedEncodingException   e)   {  
  return   ("Chinese   handling   failed:   "+e.toString());  
  }  
   
  Statement   s   =   null;  
  String   sqlCstr   =   new   String(temp);  
  int   affectedRow   =   0;  
  try   {  
  if   (conn   ==   null)   {  
  DBConnect();  
  }  
  if   (conn   ==   null)   {  
  return   ("could   not   establish   conn");  
  }else   {  
  s   =   conn.createStatement(scrollType,   concurType);  
  affectedRow   =   s.executeUpdate(sqlCstr);  
  s.close();  
  }  
  }catch   (SQLException   e)   {  
  return   ("access   db   error:"+e.toString()   +",   affectedRow   =   "+affectedRow+",   sqlCstr="+sqlCstr+"");  
  }  
  return   ("insert   successfully,   affectedRow   =   "+affectedRow+",   sqlCstr="+sqlCstr);  
  }  
  Top

9 楼yeslebk(yeslebk)回复于 2002-06-11 08:35:43 得分 0

此问题我已解决!就是把字符串格式转化一下就可以了!  
  谢谢各位!Top

相关问题

  • 在jsp页面中插入记录到数据库,老报错!!!???(求救!!)
  • 怎样用JAVABEAN把数据库中的记录读到JSP页面
  • JSP页面不能完全显示从数据库读出来的记录!!各位大虾救救
  • 急!!! JSP对数据库 INSERT 记录.....................HOLEN
  • 如何将jsp页面下显示的数据库内容中某个记录的字段传递到另外一张jsp页面!
  • 在做Jsp提交保存到数据库,在还没有跳转到保存页面时按了多次保存,保存了多条记录.为什么?
  • 数据库和JSP页面输出值的问题。谢谢!
  • 数据库、jsp页面乱码统一解决的办法?
  • JSP高手请进:数据库记录定位的问题。。。。
  • jsp显示数据库中的记录问题??

关键词

  • 中文
  • 页面
  • 乱码
  • 转换
  • sql
  • null
  • sqlcstr
  • 请问
  • affectedrow
  • publictools

得分解答快速导航

  • 帖主:yeslebk
  • powerball
  • Andrawu
  • piscean_163

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo