下载了一个jsp的论坛,主要开发技术用的是struts,我自己开发了一个网站,要把这两个应用放到一个root目录中去,因为我知道struts的论坛配置到我的网站中,要改的配置文件很麻烦,就把我的网站配到了这个论坛的应用中了,可是出现乱码了!问题出在这里在论坛的web.xml中
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
如果把UTF-8换成iso-8859-1,那我的网站就不乱码了,但是论坛的中文就乱码了,保持utf-8,我的网站就乱麻,求救,怎么办啊!明天就要交活了

解决方案 »

  1.   

    恭喜 kevinliuu(@。@) ( ) 信誉:107
      

  2.   

    因为最初编码的问题,你的网站必须使用utf-8,这个编码方式肯定不能变但是你下载的论坛又是iso88591的,所以为了兼顾, 你必须将struts论坛的代码修改,可能工作量比较大你可以尝试修改其中一个页面,将其请求的character encoding设为utf-8,如果可以正常显示的话,只需要添加一个全局过滤器,否则,恐怕真的要修改代码了
      

  3.   

    借地方请教高手下面问题
    请高手指点一下:
    下面是程序的源代码,大家可以跑跑它,在返回的结果中出现了乱码的现象,只有关键的两处出现了乱码,请高手指点啊!!!谢谢.
    大家在浏览器中输入http://babelfish.altavista.com/tr?kls=0&ienc=utf8&doit=done&intl=1&tt=urltext&trtext=%E8%AE%A1%E7%AE%97%E6%9C%BA&lp=zh_en&btnTrTxt=Translate,可以获得正确的结果!!!!!!!!import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.MalformedURLException;
    import java.net.URL;public class TestYou {
      static protected void getURL(String u)
      {
        URL url;
        InputStream is;
        InputStreamReader isr;
        BufferedReader r;
        String str;  
        try
        {
          System.out.println("Reading URL: " + u );
          url = new URL(u);
          is = url.openStream();
          isr = new InputStreamReader(is,"utf-8");
          r = new BufferedReader(isr);
          do
          {
            str = r.readLine();
            if(str!=null)
            {
             System.out.println( str );
       
            }     
          } while( str!= null );
        }
        catch(MalformedURLException e)
        {
          System.out.println("Must enter a valid URL");
        }
        catch(IOException e)
        {
          System.out.println("Can't connect");
        }
          
      }
      static public void main(String args[])
      {
      getURL("http://babelfish.altavista.com/tr?kls=0&ienc=utf8&doit=done&intl=1&tt=urltext&trtext=%E8%AE%A1%E7%AE%97%E6%9C%BA&lp=zh_en&btnTrTxt=Translate");
       }
      
    }
      

  4.   

    网页如果设置成utf-8,那我的页面就出现乱码了!怎么办吧,大家帮帮忙!我在过滤器中尝试了一下,在注册的地方用 
        <filter>
        <filter-name>EncodingFilter1</filter-name>
        <display-name>EncodingFilter1</display-name>
        <description>EncodingFilter1</description>
        <filter-class>com.laoer.comm.web.EncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>iso-8859-1</param-value>
        </init-param>
      </filter>  
     
    <filter-mapping>
        <filter-name>EncodingFilter</filter-name>
        <url-pattern>/register/*</url-pattern>
     </filter-mapping>
    在这里面设置成iso-8859-1格式的,想的是应该就可以了,可是还是没有解决问题
      

  5.   

    因为论坛在过滤器中设置成了UTF-8,我想在我的网页中是不是,在页面得到参数的时候,把utf-8的格式转换成gb2312旧可以了呢?   例如:String aa=new String(request.getParameter("xk").getBytes("UTF-8")."gb2312"),但是这样我得到的值,倒是不乱码了,就是内容全变了,正确的方法是什么呢?
      

  6.   

    你可以写两个Filter,一个是针对你的应用的,另一个是针对struts论坛应用的。
    针对你的那个里面,你使用:
     request.setCharacterEncoding("iso-8859-1");
    另一个里写
     request.setCharacterEncoding("utf-8");你只需要把你们两个应用放在不同的子文件夹下,就很容易判断请求是对应于哪个应用的了。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  7.   

    我介绍给搂主的,不是具体的解决办法,而是理解问题所在的相关知识:
    http://www.regexlab.com/zh/encoding.htm
      

  8.   

    在google搜索一把“国际化”,资料会有一大把