order sb to do sth:jsp乱码问题

来源:百度文库 编辑:高校问答 时间:2024/05/06 11:16:27
tomcat jakarta-tomcat-5.5.9.exe
jdk j2sdk-1_4_2_08.exe
曾经使用过C:\Tomcat\conf\web.xml中修改一下内容
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html;charset=gb2312</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=gb2312</mime-type>
</mime-mapping>

<%@ page contentType="text/html; charset=gb2312" %>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">但是不可以。如果加上<%@ page contentType="text/html; charset=gb2312" %>这句页面浏览都不可以。会出现
org.apache.jasper.JasperException: /index.jsp(2,0) Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html;charset=gb2312, new: text/html; charset=gb2312)
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:402)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:274)
org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:171)
org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:578)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2180)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2230)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2236)
org.apache.jasper.compiler.Node$Root.accept(Node.java:485)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2180)
org.apache.jasper.compiler.Validator.validate(Validator.java:1481)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:247)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:553)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
呵呵该成gbk也不好使。GBK相当于高出gb2312可是不行。还是乱码

用jdk j2sdk-1_4_2_09+tomcat5.0.28

将gb2312改为GBK试试

所有的都默认设置,在页面开头加
<%@ page contentType="text/html; charset=gb2312" %>应该就可以的,处理表单时加request.setCharacterEncoding("gb2312");

如果有什么问题,那不是页面的事了,检查你的tomcat
哎,刚才没看出来,tomcat5.5.9好象需要配的是jdk5吧,换个tomcat5.0.28,再看看,我觉得5.5并不比5.0好用

只保留<%@ page contentType="text/html; charset=gb2312" %>这句,把这句
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">删除,它会认为这两个不是一个字符集,以前我遇到过这种情况!

错误写的很清楚:多个不同的ContentType值是非法的。

把<meta http-equiv="Content-Type" content="text/html; charset=gb2312">删掉试试。

总之知道出错原因,应该很好改的。

我做的jsp都是有<%@ page contentType="text/html; charset=gb2312" %>又有
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
没有问题,如果要去掉的话应该是你的web.xml里的内容
如果页面没有<meta http-equiv="Content-Type" content="text/html; charset=gb2312">用dreamweaver编辑时很容易出现乱码
我用jdk j2sdk-1_4_2_09+tomcat5.0.28什么问题都没有,强烈建议你使用tomcat5.0.28,我用过tomcat5.5.12感觉很不爽,用管理工具配置站点时会把所有文件拷贝到tomcat的webapps目录下,而不是建立一个虚拟目录,所以至今我还在用tomcat5.0.28