jsp用include动态包含静态页面html页面出现乱码,求原因。要寻根究底的原因。Thanks. 50
①、html全部代码如下:<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><ti...
①、html全部代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyHtml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form action="index.jsp" enctype="multipart/form-data" method="post">
<input type="file" name="file1"/><!-- 必须有name属性,否则不能实现上传功能 -->
<input type="submit" value="上传"/>
</form>
</body>
</html>
②、index.jsp全部代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!-- jsp动态包含,属性flush必须有 -->
<!-- 时间:2011.11.17.13:47 -->
<!--@author:luyong -->
<!-- 若被包含的页面为html静态页面,则将其的charset设置为GB2312则可以解决中文乱码问题,设置为UTF-8则不行,原因正是我想知道的。。原因!!!!!-->
<!-- 建议所有的jsp动态页面的pageEncoding统一,设置为GB2312或者UTF-8解决乱码问题-->
<!-- 浏览器中的编码建议设置为自动 -->
<jsp:include page="MyHtml.html" flush="true"></jsp:include>
<%
int c=0;
try{
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.setCharset("UTF-8");
su.upload();
c=su.save("/upload",su.SAVE_VIRTUAL);
}catch(Exception e){
e.printStackTrace();
}
if(c==0)
{
out.print("上传失败");
}else
{
out.print(c+"个文件上传成功");
}
%>
</body>
</html> 展开
<html>
<head>
<title>MyHtml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form action="index.jsp" enctype="multipart/form-data" method="post">
<input type="file" name="file1"/><!-- 必须有name属性,否则不能实现上传功能 -->
<input type="submit" value="上传"/>
</form>
</body>
</html>
②、index.jsp全部代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!-- jsp动态包含,属性flush必须有 -->
<!-- 时间:2011.11.17.13:47 -->
<!--@author:luyong -->
<!-- 若被包含的页面为html静态页面,则将其的charset设置为GB2312则可以解决中文乱码问题,设置为UTF-8则不行,原因正是我想知道的。。原因!!!!!-->
<!-- 建议所有的jsp动态页面的pageEncoding统一,设置为GB2312或者UTF-8解决乱码问题-->
<!-- 浏览器中的编码建议设置为自动 -->
<jsp:include page="MyHtml.html" flush="true"></jsp:include>
<%
int c=0;
try{
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.setCharset("UTF-8");
su.upload();
c=su.save("/upload",su.SAVE_VIRTUAL);
}catch(Exception e){
e.printStackTrace();
}
if(c==0)
{
out.print("上传失败");
}else
{
out.print(c+"个文件上传成功");
}
%>
</body>
</html> 展开
4个回答
2011-11-17
展开全部
不知道你的文件是不是在eclipse下面创建的,如果是的,鼠标右键选择properties查看一下两个文件的编码是不是一样的,是不是都是UTF-8,如果不是一样,请先都改成UTF-8,再打两个文件看里面是不是乱码,有乱码的话,请把乱码改成中文再保存,再运行就好了。
如果不是在eclipse下面创建的,直接是通过文本编辑器创建的话,请用记事本把文件打开,选择另存为,编码选成UTF-8,再保存
再运行看一下,还有没有乱码。
文件乱码不是说你把pageEncoding写成一样就行了,要看它本身的编码是什么。
如果不是在eclipse下面创建的,直接是通过文本编辑器创建的话,请用记事本把文件打开,选择另存为,编码选成UTF-8,再保存
再运行看一下,还有没有乱码。
文件乱码不是说你把pageEncoding写成一样就行了,要看它本身的编码是什么。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,把你的静态html页面,用记事本打开,另存为时,选择utf-8的编码,覆盖保存即可。
这种情况遇到过,我是这样的解决的。
这种情况遇到过,我是这样的解决的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关于jsp页面乱码的问题。
我总结了一下,写了文档,你能够把那个文档全看懂的话。
相信,关于jsp页面乱码的问题那就不是问题了。
如果,你要的话,就让我发给你。
我总结了一下,写了文档,你能够把那个文档全看懂的话。
相信,关于jsp页面乱码的问题那就不是问题了。
如果,你要的话,就让我发给你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询