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

为什么通过jsp添加中文字符到了sql2000的后台成了乱码????

楼主zhufei_taikang()2004-12-02 19:33:47 在 Java / Web 开发 提问

<%@   page   contentType="text/html;charset=gb2312"   %>  
  <<%@   page   language="java"   import="java.sql.*"   %>  
  <jsp:useBean   id="zf1"   scope="page"   class="test.jiancha"   >  
  <jsp:setProperty   name="zf1"   property="*"   />  
  </jsp:useBean>  
  <body   scroll=no>  
  <%      
            String   xmc=request.getParameter("xmk");                  
            String   sql2="insert   into   test(xm)   values(''"+xmc+"')";  
                      zf1.tj(sql2);}  
   
  %>  
  简单的说明一下,tj()是java   bean中的一个添加动作,xmk是本jsp也面的一个form中的text控件,而且String   xmc=new   String(request.getParameter("xmk").getBytes("8859_1"),"gb2312");   这样写通不过,我把所有的csdn的资料都看遍了,都没有,所以才提出来,望指点为感。 问题点数:50、回复次数:16Top

1 楼pgztdk(Forsaken)回复于 2004-12-02 19:53:37 得分 1

new   String((request.getParameter("xmk")).getBytes("GBK"),"iso8859-1")  
   
   
  如果不行就把GBK   和iso8859-1试试看,不行别K我...Top

2 楼wwwlove(魔幻旋风)回复于 2004-12-02 20:00:45 得分 1

byte   a[]=xmc.getBytes(ISO-8859-1);  
  xmc=new   string(a);Top

3 楼debug158(过客)回复于 2004-12-02 21:02:46 得分 1

up!Top

4 楼zhufei_taikang()回复于 2004-12-03 10:10:20 得分 0

wwwlove(魔幻旋风)   (   )兄弟,按照你的提示出现这么的错误:  
  org.apache.jasper.JasperException:   Unable   to   compile   class   for   JSP  
   
  An   error   occurred   at   line:   12   in   the   jsp   file:   /jh_tx.jsp  
  Generated   servlet   error:  
  xmc   cannot   be   resolved  
   
  An   error   occurred   at   line:   12   in   the   jsp   file:   /jh_tx.jsp  
  Generated   servlet   error:  
  ISO   cannot   be   resolved  
  Top

5 楼zhufei_taikang()回复于 2004-12-03 10:11:06 得分 0

pgztdk(Forsaken)   兄弟,你的方法也是错的,谢谢了Top

6 楼tiannet(http://tiannet.yculblog.com)回复于 2004-12-03 10:21:06 得分 1

String   xmc   =   new   String(request.getParameter("xmk").getBytes("ISO8859-1"),"gb2312")Top

7 楼drugon(更高,更远,更强)回复于 2004-12-03 11:29:21 得分 1

自己先把那些字符转换一下。Top

8 楼JIEK_ONE(weiwei)回复于 2004-12-03 11:49:37 得分 1

楼主看看这个行吗?  
  strSQL   =  
                  "insert   into   EMPLOYEE   (name,sex,age)   values   (?,?,?)";  
                  prestmt   =   conn.prepareStatement(strSQL);  
                  prestmt.setBytes(1,name.getBytes("GBK"));  
                  prestmt.setBytes(2,sex.getBytes("GBK"));  
                  prestmt.setBytes(3,age.getBytes("GBK"));  
                  prestmt.executeUpdate();Top

9 楼vcvj([Reside]in Fuzhou, [Gonna]be Oversea, [Depositing)回复于 2004-12-03 11:54:39 得分 1

you   must   download   JDBC   of   MSSQLServer   again,   note:   the   size   of   jdbc,   please   sure   it's   the   best   new.Top

10 楼packer(宇)回复于 2004-12-03 11:56:26 得分 1

cuoleTop

11 楼SUNDATA(古灯)回复于 2004-12-03 12:04:03 得分 2

//   解决中文显示问题  
  public   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)  
      {  
      }  
      return   "空";  
  }  
  一定可以的.Top

12 楼yrsheng(以德服人)回复于 2004-12-03 13:25:24 得分 1

调用request.getParameter("fieldName")获取输入的字符串之前,用这句设置编码:request.setCharecterEncoding("GBK");这样得到的才是正确的中文。  
   
  或者将request.getParameter("fieldName")获取的字符串进行中文编码转换:  
  String   content   =   request.getParameter("fieldName");  
  content   =   new   String(content.getBytes("ISO8859-1"),"GBK");  
   
  注意二都不能一起使用.Top

13 楼MYLiao(醉书生)回复于 2004-12-03 13:48:26 得分 37

你试试下面的:  
  <%@   page   contentType="text/html;charset=gb2312"   %>  
  <<%@   page   language="java"   import="java.sql.*"   %>  
  <jsp:useBean   id="zf1"   scope="page"   class="test.jiancha"   >  
          <jsp:setProperty   name="zf1"   property="*"   />  
  </jsp:useBean>  
  <body   scroll=no>  
  <%!  
      public   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){  
          }  
          return   null;  
      }  
  %>  
  <%      
            String   xmc=getStr(request.getParameter("xmk"));  
            String   sql2="insert   into   test(xm)   values('"+xmc+"')";  
            zf1.tj(sql2);  
  %>  
  Top

14 楼xinlcao(老猫在线)回复于 2004-12-03 13:48:59 得分 1

现在使用这个转换:  
      public   static   String   convertToChinese(String   strInput)   {  
          String   str   =   "";  
          try   {  
              str   =   new   String(strInput.getBytes("iso-8859-1"),   "gb2312");  
          }  
          catch   (Exception   e)   {  
              str   =   strInput;  
          }  
          finally   {  
              return   str;  
          }  
      }  
  原来一直用这个转换:  
  public   String   native2unicode(String   s)  
          {  
                  if(s   ==   null   ||   s.length()   ==   0)  
                          return   null;  
                  byte   abyte0[]   =   new   byte[s.length()];  
                  for(int   i   =   0;   i   <   s.length();   i++)  
                          abyte0[i]   =   (byte)s.charAt(i);  
   
                  return   new   String(abyte0);  
          }  
  你试试。Top

15 楼gyb0817(一诺)回复于 2004-12-03 14:56:49 得分 1

中文显示问题,帮你顶!Top

16 楼zhufei_taikang()回复于 2004-12-03 15:09:18 得分 0

谢谢大家的帮助,csdn确实是我们程序员的家,我体会到了,下次我也会热情的帮助大家的,希望发贴的和回复的都认真对待,这样的贴子才是程序员的导航灯。好了,MYLiao(夕阳武士)   的答案完全正确,大家可以使用。本来分全部要给他的,但大家既然进来了,就得点小分了,谢谢大家!Top

相关问题

  • sql_server乱码(修改字符集)
  • [JSP]数据库中的字符是乱码,why?
  • 英文版SQL Server插入中文字符乱码的问题!
  • 字符乱码问题?
  • 字符乱码问题!(急)
  • jsp存入数据库中文字符变为乱码,怎么处理?谢先了!
  • 在jsp中调用bean,中文在网页上是乱码,手动选字符集才正常
  • jsp表单提交到数据库的数据(中文字符)读取后就变成了乱码。
  • 邹建和各位高手请进:如何用SQL查出字符串中的中文字符或乱码?谢谢
  • oracle字符集乱码,在线给分!!!!!!!!!

关键词

  • 中文
  • jsp
  • prestmt
  • xmc
  • getbytes
  • xmk
  • getparameter
  • setbytes
  • gbk
  • strinput

得分解答快速导航

  • 帖主:zhufei_taikang
  • pgztdk
  • wwwlove
  • debug158
  • tiannet
  • drugon
  • JIEK_ONE
  • vcvj
  • packer
  • SUNDATA
  • yrsheng
  • MYLiao
  • xinlcao
  • gyb0817

相关链接

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

广告也精彩

反馈

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