您好,我在WebLogic8.1下开发了一个子系统,添加到别人开发的系统中,我的URI编码在我自己的系统中跳转时,中文不会出现乱码,但是内嵌到别人的系统中,则会出现乱码,我这个系统不调用别人系统中任何servlet和页面,请问有哪些情况可能会我的URI编码出错,谢谢。

解决方案 »

  1.   

    那当然,是以嵌进去的父系统encoding为默认编码方式,除非你在你的子系统中进一步进行控制。
      

  2.   


    您好,在父系统的web.xml中我只看到了<servlet>
      <servlet-name>pageControl</servlet-name> 
      <servlet-class>com.PageServlet</servlet-class> 
    - <init-param>
      <param-name>charset</param-name> 
      <param-value>GBK</param-value> 
      </init-param>
    ...
      <load-on-startup>1</load-on-startup> 
      </servlet>
    - <servlet-mapping>
      <servlet-name>pageControl</servlet-name> 
      <url-pattern>*.execute</url-pattern> 
      </servlet-mapping>
    中有字符集的设置,其他地方我没有看到有字符集的设置?请问他这样设置,可以确定父系统是安装GBK进行URI编码的吗?再次感谢
      

  3.   

    应该是,所有父系统的servlet(包括jsp)处理字符的编码方式都是GBK
      

  4.   

    你应该在你的系统中进行进一步的控制,设置request.setCharacterEncoding(YOUR_ENCODING);
    不过貌似weblogic8.1的servlet版本比较低,没有setCharacterEncoding方法,你只能一个个去控制了,要不停地转encoding。
      

  5.   


    是关于jsp,servlet编码方式的知识