一个jsp中要包含几个htm页面,
我采用<%@ include file="a.html" %>的方式来包含
为了防止乱码,我在每个html页面的头上都加了
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
可以在不同的中间件上(tomcat,weblogic,webspher,jboss)上,
有的运行正常,有的却报标签重复定义的错误,
当我把其改为<%@ page pageEncoding="UTF-8"%>,
但情况一样,在不同的中间件上,出现前面已经定义了pageEncoding的错误,
不知道各位在遇到这种情况的时候,一般都怎么做?

解决方案 »

  1.   

    a.html里面不要<%@ page pageEncoding="UTF-8"% > 这个
      

  2.   

    只在你显示的那个jsp里面
    <%@ page language="java" contentType="text/html;charset=UTF-8" % > 
      

  3.   

    我怀疑报错的页面里面你的<page>的属性一共第一了2次,其中有一次是在a.html里,一次在后面.要记住<page> 属性在每个页面里面只能出现一次.
      

  4.   

    如果只在一个文件出现,有些中间件会出错的,报出乱码。
    <%@ include file=""%>的方式,是编辑时分别对包含的文件编译的
    我采用的是在每个文件上都加一个头,可惜有些中间件因为配置的原因,
    还是会抱错
      

  5.   

    在所有的页面统一用<%@ page   language= "java "   contentType= "text/html;charset=UTF-8 " % >  
    看看
      

  6.   

    但是注意 页面是否有以下元素:
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">是否都统一
    要不都统一才可以
    或者将页面的这个全部删除
    可以解决你的问题
      

  7.   

    看来大家都没有遇到过这个问题了
    这个和统一不统一是没有关系的
    统一了可以,不统一也可以
    关键是在某些中间件运行正常,而其他的中间件就不正常
    我觉得简单得从<%@   page  …… 这个角度解决,是不对的
      

  8.   

    注意   页面是否有以下元素: 
    <meta   http-equiv= "Content-Type "   content= "text/html;   charset=GBK " > 
      

  9.   

    <meta       http-equiv=   "Content-Type   "       content=   "text/html;       charset=GBK   "   >  不是 <%@   page       language=   "java   "       contentType=   "text/html;charset=UTF-8   "   %   >   
      

  10.   

    <meta http-equiv="Content-Type" content="text/html;charset=GBK"> 
    这个就是真理,解决乱码问题,铁定是要加的
    和这个没有关系