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

为何JSP从SQL SERVER2000读取中文数据是乱码,如何解决?

楼主pope945(学无止尽)2006-03-29 15:36:43 在 Java / Web 开发 提问

为何JSP从SQL   SERVER2000读取中文数据是乱码,如何解决?  
   
  但是从JSP输入数据库能正确显示中文  
   
  JSP文件以包含  
  <%request.setCharacterEncoding("GB2312");%>  
   
  TOMCAT5.0+JSDK1.4+SQL2000+SP4 问题点数:1、回复次数:11Top

1 楼joanna_h(探讨JAVA,QQ群:8953592。)回复于 2006-03-29 15:39:49 得分 0

s_wj   =   new   String(rs.getString("WJ").getBytes(),   "8859_1";  
  写成像这个样子,你试一下。Top

2 楼pope945(学无止尽)回复于 2006-03-29 15:59:32 得分 0

<%=new   String(rs.getString(2).getBytes("8859_1"),"gb2312")%>  
   
  我其中的代码是这样写的  
   
  还是有问题Top

3 楼MagicianLiu(魔术师·刘)回复于 2006-03-29 16:03:12 得分 0

页面全部统一成编码UTF就没问题了。Top

4 楼pope945(学无止尽)回复于 2006-03-29 16:54:52 得分 0

全部UTF-8中文就成口口这样子了Top

5 楼chengxuyuan711(andy)回复于 2006-03-29 17:24:16 得分 0

 
  试试<%=new   String(rs.getString(2).getBytes(),"gbk")%>Top

6 楼sdxlh007(海)回复于 2006-03-29 17:42:56 得分 0

有没有加上过滤的类啊?加上了应该就没事了Top

7 楼pope945(学无止尽)回复于 2006-03-29 21:18:06 得分 0

就一个很简单的查询,还要另外加个类么?Top

8 楼sdxlh007(海)回复于 2006-03-30 09:03:50 得分 0

如果想要不出现乱码就加个过滤器,拷个现成的过来就可以,不会很复杂Top

9 楼fleagle236(无情浪子)回复于 2006-03-31 11:10:28 得分 1

数据库里的编码和JAVA里的编码是不一样的    
  进行存储的时候进行编码转换就可以了。  
   
  编码转换类如下:可以解决问题。  
   
   
  import   java.io.UnsupportedEncodingException;  
   
  public   class   transFormat  
  {  
          public   transFormat()  
          {  
          }  
   
          public   static   String   unicodeToGBK(String   strIn)  
          {  
                  byte   b[];  
                  String   strOut   =   null;  
   
                  if   (strIn   ==   null   ||   strIn.trim().equals(""))  
                  {  
                          return   strIn;  
                  }  
                  else  
                  {  
                          try  
                          {  
                                  b   =   strIn.getBytes("GB2321");  
                                  strOut   =   new   String(b,   "ISO8859_1");  
                          }  
                          catch   (UnsupportedEncodingException   e)  
                          {  
   
                          }  
                          return   strOut;  
                  }  
          }  
   
          public   static   String   GBKtoUnicode(String   strIn)  
          {  
                  String   strOut   =   null;  
                  byte   b[];  
   
                  if   (strIn   ==   null   ||   strIn.trim().equals(""))  
                  {  
                          return   strIn;  
                  }  
                  else  
                  {  
                          try  
                          {  
                                  b   =   strIn.getBytes("ISO8859_1");  
                                  strOut   =   new   String(b,   "GB2312");  
                          }  
                          catch   (Exception   e)  
                          {  
   
                          }  
                          return   strOut;  
                  }  
          }  
  }  
  Top

10 楼dabinglian(学习)回复于 2006-03-31 11:51:15 得分 0

楼上正解,数据库的编码方式是不一样的,每次存数据都要进行编码,取出来之后再转换或来才不至于乱码Top

11 楼pope945(学无止尽)回复于 2006-04-02 10:08:01 得分 0

我   COPY了一个别人的类  
   
   
  问题解决  
   
  谢谢各位的帮助Top

相关问题

  • jsp从mysql中读取中文数据乱码
  • 高分求解jsp读取xml乱码问题!急!!!
  • 读取sql server中文数据乱码问题
  • 100分请教jsp中读取中文xml出现的乱码问题!
  • 请高手指点!!从SQL数据库中读取WORD文挡出现乱码!!!
  • 读取word出现乱码?????
  • vc读取中文乱码!!!!
  • 读取 blob数据乱码?
  • 向高手求救jsp读取SQLSERVER数据有乱码的问题,感激不尽!!!!!!!!
  • jsp表单提交到数据库的数据(中文字符)读取后就变成了乱码。

关键词

  • sql server2000
  • 编码
  • 乱码
  • 中文
  • 解决
  • 数据
  • 数据库
  • jsp
  • sql
  • null

得分解答快速导航

  • 帖主:pope945
  • fleagle236

相关链接

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

广告也精彩

反馈

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