CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

字符乱码问题?

楼主operfume(橘子香水)2005-03-27 13:53:48 在 Java / Web 开发 提问

byte[]   bytes=new   byte[1024];  
      byte[]   b;  
      while((c=inPut.read(bytes))!=-1){  
        b   =   bytes.toString().getBytes("8859_1");  
        String   nstr   =   new   String(b,"GB2312");  
        System.out.println(nstr);        
        fos.write(bytes,0,c);  
      }  
   
  System.out.println(bytes);       为什么显示出来都是[B@e54? 问题点数:20、回复次数:18Top

1 楼zhutouzip(醒了的鸟)回复于 2005-03-27 13:55:38 得分 10

8859_1这是什么,应该是ISO-8859-1Top

2 楼operfume(橘子香水)回复于 2005-03-27 13:57:19 得分 0

改成ISO-8859-1后,显示[B@ea5?Top

3 楼zhutouzip(醒了的鸟)回复于 2005-03-27 14:06:52 得分 0

你是否想把这个byte数组保存的字节转化成汉字?  
  如果这样,按如下试试;  
  String   str1=new   String(bytes);  
  String   nstr=new   String(str1.getBytes("ISO-8859-1"),"GB2312");Top

4 楼operfume(橘子香水)回复于 2005-03-27 14:54:34 得分 0

这次内容显示出来了,但是汉字显示的全部是?????Top

5 楼zhutouzip(醒了的鸟)回复于 2005-03-27 15:00:53 得分 0

晕!  
  汉字的编码有一个范围的,如果超出了这个编码范围就会出现问题!Top

6 楼operfume(橘子香水)回复于 2005-03-27 17:09:46 得分 0

但是我把内容写入一个文件后,使用写字板显示是乱码,而使用记事本显示是正确的。Top

7 楼HMILYFLY(程序人生)回复于 2005-03-27 18:16:26 得分 3

String   str=new   String(bytes);  
  String   str1=new   String(str.getBytes("ISO-8859-1","GB2312"));Top

8 楼tx18(www.sqlserver.com.cn)回复于 2005-03-27 18:39:42 得分 3

试试:  
  String   str=new   String(bytes);  
  String   str1=new   String(str.getBytes("ISO-8859-1"));Top

9 楼operfume(橘子香水)回复于 2005-03-27 18:50:08 得分 0

汉字始终是??????  
   
  程序代码如下:  
      ServletInputStream   inPut   =   request.getInputStream();  
   
      String   realpath   =   application.getRealPath("/bin/report/");  
      java.io.File   file_out=new   java.io.File(realpath+"reportstencil.xml");  
      FileOutputStream   fos=new   FileOutputStream(file_out);  
   
      int   c   =   0;  
      byte[]   bytes=new   byte[1024];  
      while((c=inPut.read(bytes))!=-1){  
        String   nstr   =   new   String(bytes);  
        String   nstr2   =   new   String(nstr.getBytes("iso-8859-1"),"gb2312");  
        System.out.println(nstr2);  
        fos.write(bytes,0,c);  
      }  
      fos.close();  
      inPut.close();  
   
  调用方法:  
        var   oXmlHttp   =   new   ActiveXObject("Microsoft.XMLHTTP");  
        oXmlHttp.Open("POST","../util/saveXmlToServer.jsp",false);  
        oXmlHttp.setRequestHeader("Content-Type","text/xml");  
        oXmlHttp.setRequestHeader("charset","utf-8");  
        var   xmlDoc   =   "<xml   id=\"mData\">\n"+  
                                  xmlData+"</xml>"  
        oXmlHttp.Send(xmlDoc);  
        if(oXmlHttp.status==200){  
          var   rText   =   oXmlHttp.responseText;  
            if(rText.substring(0,1)=="0"){  
              return   0;  
            }else{  
              return   1;  
            }  
        }else{  
          return   2;  
        }  
  Top

10 楼jack315(velasco)回复于 2005-03-27 19:03:04 得分 2

请问你在jsp页面charset="gb2312"有了吗,没的话你再怎么.getbyts("iso-8859-1"),"gb2312");也没用。Top

11 楼gaochao79(www.informe.cn)回复于 2005-03-27 19:05:31 得分 1

这方面的东东太多了   search吧Top

12 楼operfume(橘子香水)回复于 2005-03-27 19:08:15 得分 0

页面已经有了  
  <%@page   contentType="text/html;charset=gb2312"%>Top

13 楼zhutouzip(醒了的鸟)回复于 2005-03-27 19:33:34 得分 0

如果这样不行的话,先调用:  
  System.setProperty("file.encoding","GB2312");  
  再执行字符串的转换!Top

14 楼operfume(橘子香水)回复于 2005-03-27 20:11:31 得分 0

System.setProperty("file.encoding","GB2312");  
  加了还是不得行,好怪?Top

15 楼Microsoftwyl(wyl)回复于 2005-03-27 21:53:17 得分 1

插入数据库时乱码的解决方法:  
  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";  
  }Top

16 楼PcVSBirds(pc_birds)回复于 2005-03-27 21:58:03 得分 0

web方式编码用ISO8859_1就够了  
  但是我的application就不行了晕Top

17 楼gaochao79(www.informe.cn)回复于 2005-03-28 09:25:08 得分 0

抗议sun,给鬼子做日语版本,不管我们中国大爷私活!Top

18 楼gaochao79(www.informe.cn)回复于 2005-03-28 09:25:45 得分 0

是死活不是私活!靠,太生气了,打错了Top

相关问题

  • 字符乱码问题!(急)
  • sql_server乱码(修改字符集)
  • oracle字符集乱码,在线给分!!!!!!!!!
  • ie中copy字符串乱码问题!
  • Bean中的字符串变量乱码!
  • 特殊字符乱码问题
  • 怎么把一堆乱码转换成不是乱码的字符串
  • 怎么判断字符串乱码了,乱码后又如何去除?
  • VB6.0中出现系统字符乱码,如何解决?
  • 急!JDeveloper3.2.2IDE在Windows 2000中字段字符显示乱码!

关键词

  • 乱码
  • 汉字
  • 编码
  • nstr
  • oxmlhttp
  • getbytes
  • gb2312
  • iso
  • byte
  • 显示

得分解答快速导航

  • 帖主:operfume
  • zhutouzip
  • HMILYFLY
  • tx18
  • jack315
  • gaochao79
  • Microsoftwyl

相关链接

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

广告也精彩

反馈

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