JSP中文问题(分数不够再加) 在你的jsp页面最开始部分加上下面的这句话试试:<%@ page contentType="text/html; charset=GB2312" %> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String strTitle = new String(request.getParameter("title").getBytes("ISO-8859-1")); 试试 new String(request.getParamter().getBytes("ISO8859-1")) 我也有同样的问题,如果你解决的给我发邮件告诉我。[email protected] 在取参数前加一句:request.setCharacterEncoding("GB2312"); 首先在发送端:response.sendRedirect("url.jsp?sMsg="+java.net.URLEncoder.encode("form名称重复,请重新添加"));在接收端:String sMsg = new String(request.getParameter("sMsg").getBytes("ISO8859_1"),"GB2312"); <jsp:forward 我没有试过,不过我想应该差不多 我看了一下Servlet源码,它将中文转化成了unicode编码,但IE在传送时又要转化一次,是不是有重复转换的问题?因为在传送前应该是扩展的ASCII编码,因此这里有没有办法将字符串转换为扩展ASCII码形式的编码 <%request.setCharacterEncoding("GBK")%><jsp:forward page="msg.jsp"><jsp:param name="title" value="错误" /></jsp:forward> <%request.setCharacterEncoding("GBK")%><jsp:forward page="msg.jsp"><jsp:param name="title" value="错误" /></jsp:forward> 补充: test.jsp<jsp:forward page="msg.jsp"><jsp:param name="title" value="错误"/></jsp:forward>msg.jsp<%@page contentType="text/html;charset=gb2312"%><% request.setCharacterEncoding("GB2312"); out.print(request.getParameter("title"));%>我刚试过,没问题 1.用filter解决汉字编码及禁止页面缓存 (不用再在每个页面里去加那几行代码了):(by wellsoon@CSDN)package beanservlettest;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;public class servfilter extends HttpServlet implements Filter { private FilterConfig filterConfig; //Handle the passed-in FilterConfig public void init(FilterConfig filterConfig) { this.filterConfig = filterConfig; } //Process the request/response pair public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) { try { request.setCharacterEncoding("GB2312");//设置编码 ((HttpServletResponse)response).setHeader("Pragma","No-cache"); ((HttpServletResponse)response).setHeader("Cache-Control","no-cache"); ((HttpServletResponse)response).setHeader("Expires","0");//禁止缓存 //自己添加的代码就这上面四行,其它的都是Jbuilder自动生成的:) filterChain.doFilter(request, response); } catch(ServletException sx) { filterConfig.getServletContext().log(sx.getMessage()); } catch(IOException iox) { filterConfig.getServletContext().log(iox.getMessage()); } } //Clean up resources public void destroy() { }}下面是在web.xml里的配置:(我的是Jbuilder自动生成的) <filter> <filter-name>servfilter</filter-name> <filter-class>beanservlettest.servfilter</filter-class> </filter> <filter-mapping> <filter-name>servfilter</filter-name> <url-pattern>/*</url-pattern> ///这里表示对整个网站都有效 </filter-mapping> 1.用filter解决汉字编码及禁止页面缓存 (不用再在每个页面里去加那几行代码了):(by wellsoon@CSDN)package beanservlettest;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;public class servfilter extends HttpServlet implements Filter { private FilterConfig filterConfig; //Handle the passed-in FilterConfig public void init(FilterConfig filterConfig) { this.filterConfig = filterConfig; } //Process the request/response pair public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) { try { request.setCharacterEncoding("GB2312");//设置编码 ((HttpServletResponse)response).setHeader("Pragma","No-cache"); ((HttpServletResponse)response).setHeader("Cache-Control","no-cache"); ((HttpServletResponse)response).setHeader("Expires","0");//禁止缓存 //自己添加的代码就这上面四行,其它的都是Jbuilder自动生成的:) filterChain.doFilter(request, response); } catch(ServletException sx) { filterConfig.getServletContext().log(sx.getMessage()); } catch(IOException iox) { filterConfig.getServletContext().log(iox.getMessage()); } } //Clean up resources public void destroy() { }}下面是在web.xml里的配置:(我的是Jbuilder自动生成的) <filter> <filter-name>servfilter</filter-name> <filter-class>beanservlettest.servfilter</filter-class> </filter> <filter-mapping> <filter-name>servfilter</filter-name> <url-pattern>/*</url-pattern> ///这里表示对整个网站都有效 </filter-mapping> //test.jsp<%@ page contentType="text/html;charset=GBK" %><jsp:forward page="msg.jsp"><jsp:param name="title" value="错误"/></jsp:forward>//msg.jsp<%@ page contentType="text/html;charset=GBK" %><% out.print(request.getParameter("title"));%>不行的话,就不行了 我的服务器是weblogic8.1,我又在tomcat4.1下试了一下,不行,原因是tomcat4.1不支持request.setCharacterEncoding("GB2312");但以下程序在tomcat4.1正确test.jsp<%@page contentType="text/html;charset=gb2312"%><jsp:forward page="msg.jsp"><jsp:param name="title" value="错误"/></jsp:forward>msg.jsp<%@page contentType="text/html;charset=gb2312"%><% out.print(new String(request.getParameter("title").getBytes("ISO8859_1"),"GB2312"));%>不知道你用的是什么服务器 那你升级到tomcat4.1.24吧,我的tomcat是4.1.24 补充:tomcat4.1.24支持request.setCharacterEncoding("GB2312"),但必须在<jsp:forward之前调用,如:test.jsp<%@page contentType="text/html;charset=gb2312"%><% request.setCharacterEncoding("GB2312");%><jsp:forward page="msg.jsp"><jsp:param name="title" value="错误"/></jsp:forward>msg.jsp<%@page contentType="text/html;charset=gb2312"%><% out.print(request.getParameter("title"));%> 听说标题要长长长长长长长长长长长长长长长长长长长长,才有人回复 web前台展示框架 如何用JSP实现通过WEB上传和下载文件? request.getParameter()取中文新贴 思路:对一张数据表操作 javascript中如何调用"确定"\"取消"的Dialog呀,如何判断点了“确定”还是“取消” tomcat5.0.14怎样建立jsp工作的虚拟目录 哪位大神帮我解释一下eclipse调用tomcat运行jsp或servlet的原理啊? Idea14 在spring的配置文件中不提示 ssm整合的错误求助 JSP 中如何设置 float 数 的精度? 请教:中文显示问题
[email protected]
response.sendRedirect("url.jsp?sMsg="+java.net.URLEncoder.encode("form名称重复,请重新添加"));
在接收端:
String sMsg = new String(request.getParameter("sMsg").getBytes("ISO8859_1"),"GB2312"); <jsp:forward 我没有试过,不过我想应该差不多
<jsp:param name="title" value="错误" />
</jsp:forward>
<jsp:param name="title" value="错误" />
</jsp:forward>
test.jsp
<jsp:forward page="msg.jsp">
<jsp:param name="title" value="错误"/>
</jsp:forward>msg.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("GB2312");
out.print(request.getParameter("title"));
%>
我刚试过,没问题
1.用filter解决汉字编码及禁止页面缓存 (不用再在每个页面里去加那几行代码了):
(by wellsoon@CSDN)package beanservlettest;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;public class servfilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
//Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
try {
request.setCharacterEncoding("GB2312");//设置编码
((HttpServletResponse)response).setHeader("Pragma","No-cache");
((HttpServletResponse)response).setHeader("Cache-Control","no-cache");
((HttpServletResponse)response).setHeader("Expires","0");//禁止缓存
//自己添加的代码就这上面四行,其它的都是Jbuilder自动生成的:)
filterChain.doFilter(request, response);
}
catch(ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch(IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
//Clean up resources
public void destroy() {
}
}下面是在web.xml里的配置:
(我的是Jbuilder自动生成的)
<filter>
<filter-name>servfilter</filter-name>
<filter-class>beanservlettest.servfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>servfilter</filter-name>
<url-pattern>/*</url-pattern> ///这里表示对整个网站都有效
</filter-mapping>
1.用filter解决汉字编码及禁止页面缓存 (不用再在每个页面里去加那几行代码了):
(by wellsoon@CSDN)package beanservlettest;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;public class servfilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
//Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
try {
request.setCharacterEncoding("GB2312");//设置编码
((HttpServletResponse)response).setHeader("Pragma","No-cache");
((HttpServletResponse)response).setHeader("Cache-Control","no-cache");
((HttpServletResponse)response).setHeader("Expires","0");//禁止缓存
//自己添加的代码就这上面四行,其它的都是Jbuilder自动生成的:)
filterChain.doFilter(request, response);
}
catch(ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch(IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
//Clean up resources
public void destroy() {
}
}下面是在web.xml里的配置:
(我的是Jbuilder自动生成的)
<filter>
<filter-name>servfilter</filter-name>
<filter-class>beanservlettest.servfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>servfilter</filter-name>
<url-pattern>/*</url-pattern> ///这里表示对整个网站都有效
</filter-mapping>
<%@ page contentType="text/html;charset=GBK" %>
<jsp:forward page="msg.jsp">
<jsp:param name="title" value="错误"/>
</jsp:forward>//msg.jsp
<%@ page contentType="text/html;charset=GBK" %>
<%
out.print(request.getParameter("title"));
%>不行的话,就不行了
但以下程序在tomcat4.1正确
test.jsp
<%@page contentType="text/html;charset=gb2312"%>
<jsp:forward page="msg.jsp">
<jsp:param name="title" value="错误"/>
</jsp:forward>msg.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%
out.print(new String(request.getParameter("title").getBytes("ISO8859_1"),"GB2312"));
%>
不知道你用的是什么服务器
test.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("GB2312");
%>
<jsp:forward page="msg.jsp">
<jsp:param name="title" value="错误"/>
</jsp:forward>msg.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%
out.print(request.getParameter("title"));
%>