求助~JSP中文参数传递问题 你在JSP页面最上面使用这个指令试试:<%@page contentType="text/html,charset=GBK"%> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的那句,然后加上request.encoding()等等的东西,具体的写法可能不是这样,就是高速编码方式是中文 一般都是在获取表单数据之前先设置编码方式request.setCharacterEncoding("GBK");在页面里显示有页面的指令<%@page contentType="text/html,charset=GBK"%>显示出来都没问题的 http://blog.csdn.net/joyous/archive/2007/02/07/1504274.aspx S P 中文乱码处理解决方案 基于Tomcat中间件处理JSP遇到中文时出现乱码问题解决方案: 鉴于网络上各种各样的解决方案,有基于环境、有基于URI等,最终确定为避免兼容性问题,以运行代码自我设置来解决。 JSP代码中的 JAVA 字符编码设置 <%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><%@page import="java.net.URLEncoder"%>(好像上条语句并非必要) 红色为制定JSP处理字符采用UTF-8编码处理方式。 <%request.setCharacterEncoding ("UTF-8");%>JSP内JAVA代码设定接收参数为UTF-8编码 JSP 内 HTML 头的编码设置<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Note Page</title> </head> <body>………… 红色部分UTF-8制定HTML页面使用的编码方式 <form action=index.jsp method="post"><h3>Please Input Your Name:</h3><input type="text" size="30" name="yourname" value="" ><input type=submit value="提交"></form> 接收代码如下: <%String temp1 = request.getParameter ("yourname");……%> 超链接参数传递方式略有不同,若只采用以上设定,遇中文参数,因编码不同,会导致部分文字信息丢失,所以在提交前务必进行编码。 <a href="<%=request.getContextPath()%>/index.jsp?传递的参数名=<%=java.net.URLEncoder.encode (传递的汉字变量,"UTF-8")%>"><%=超链接热点显示内容%></a> 由 java.net.URLEncoder.encode 函数将要发送的变量解析为16进制数字编码,进行URL传递,接收代码如下: <%String str = request.getParameter ("传递的参数名");%> 由此,获得参数后的 str 内将是正确的中文信息。 完毕将完美解决中文字符参数问题,无需对服务器环境进行任何设置,有效提高兼容性。 安全问题不属本文范畴,请各位自行处理。 <%@page contentType="text/html,charset=GBK"%> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">放到第一或二行 把上面的改成这个试试<%@ page language="java" pageEncoding="gbk" contentType="text/html;charset=gbk"%>还有进入 window--> preferences --> Genaral--> contentType 把jsp默认的编码类型改成gbk 给你个过录器import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.UnavailableException;public class SetCharacterEncodingFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); // 传递控制到下一个过滤器 chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { }}web.xml 加上<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>SetCharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name><url-pattern>/*</url-pattern> </filter-mapping> 加个过滤器啦代码是: public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) { try { request.setCharacterEncoding("GBK");//用于处理POST方法传过来的表单的 filterChain.doFilter(request, response); } catch (ServletException sx) { filterConfig.getServletContext().log(sx.getMessage()); } catch (IOException iox) { filterConfig.getServletContext().log(iox.getMessage()); } }而GET方法穿过来的就用 nstr = new String(ostr.getBytes("ISO-8859-1"),"GBK");处理啦 nstr - 新字符串 ostr - 从request中得到的字符串 我也碰到过,,不管用什么方法好像都不行,,但是在表单中的提交方式改为POST就OK,用GET就显乱码,,有没有好的解决方案呀,,,顶上去~~~~~~~~~~~~~~~~~~~~~`` spring中DI和IOC的异同 JSP中代码应该怎么写? JPA和servlet整合的复合型工程 classloader的问题 Java中如何实现自动保存JTextArea中的文本 用网页登陆后台反映慢问题,问题解决马上给分 求HIBERNATE用的DAOTEST类. spring+hibernate+atomikos多数据源事务无法回滚 我用xdoclet产生ejbSelect时出现如下情况 EJB的初尝试问题!请赐教! 一个异常的问题. 怎么每隔一定时间自动执行一个方法
在页面里显示有页面的指令<%@page contentType="text/html,charset=GBK"%>
显示出来都没问题的
放到第一或二行
<%@ page language="java" pageEncoding="gbk" contentType="text/html;charset=gbk"%>还有进入 window--> preferences --> Genaral--> contentType 把jsp默认的编码类型改成gbk
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.UnavailableException;public class SetCharacterEncodingFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); // 传递控制到下一个过滤器
chain.doFilter(request, response);
} public void init(FilterConfig filterConfig) throws ServletException {
}
}web.xml 加上<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
代码是:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {
request.setCharacterEncoding("GBK");//用于处理POST方法传过来的表单的
filterChain.doFilter(request, response);
}
catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
而GET方法穿过来的就用
nstr = new String(ostr.getBytes("ISO-8859-1"),"GBK");处理啦
nstr - 新字符串
ostr - 从request中得到的字符串