奇怪的jsp+tomcat5.0.18中文乱码问题!!!

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

在页面前面我已经加了  
  <%@   page   contenttype="text/html;charset=gb2312"   %>  
  现在的中文显示乱码不是从数据库读出的中文显示为乱码       而是网页中的中文为乱码  
  例如  
  <b>主页</b>  
  则“主页”这两个字显示时就是一串问号????????  
   
   
  当我用下面这个函数进行处理后就可以显示了!!!!!!!  
   
  <b>   <%   out.print(getstr("主页"));     %>   </b>  
   
  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)  
  {  
  e.printstacktrace();  
    }  
  return   "null";  
  }  
   
  从数据读出来的东西不用编码转换就可以正确显示!  
  <td>   <%=rs.getstring("sort_name")%>   </td>  
   
  在网上看了不少解决方案  
  但是一般都是针对中文传送过程中出现的问题   还有就是从页面到数据库之间传输的问题  
  但是这种问题还不知道怎么解决  
   
  望大虾指点啊

· 网友精彩回答:

发表者:ll_feng

我个人认为可能是tomcat的一个小bug   我当初也是遇到这样的问题,请教很多人都解决不了,后来我换了个5.0.27的版本,启动后测试页面的中文还是乱码,于是“stop   service”然后再“start   service”,嗨,居然就好了!!不管你信不信。我的问题就是这样解决了……

发表者:tiannet

难道非要设置这个:  
  <meta   http-equiv="content-type"   content="text/html   charset=gb2312">  
  ???

发表者:zhang20084

恩,昨天晚上我也是这个问题。。  
  一开始是乱码  
  我去转换了一下代码,竟然可以正确显示转换的那些乱码了。  
  然后我又还原了  
  把服务重开一下,

发表者:ll_feng

我的办法是安装5.0.27版,第一次测试后,大概是乱码,不急,重新加载一次tomcat,然后再刷新页面!!注意这个办法好象对其它版本不灵。

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved