jsp <input text> post提交到action 中文乱码
我在jsp的页面中有一个<input type="text" name="name" id="name"/> 然后post方式提交到action,在action中String name接收,但name却是乱码,如何解决?
环境:tomcat6+jdk1.6+myeclipse6.5+struts2
我已试过如下方法:
1、在jsp页面中加<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2、把java改成utf-8
------解决方案--------------------String str= new String((req.getParameter("XXX")).getBytes("ISO-8859-1"),"UTF-8")这样试下 UTF-8可以换成你要的
------解决方案--------------------request.setCharacterEncoding("utf-8");
------解决方案--------------------改成gb2312
------解决方案--------------------可以试一下GB2312 格式
------解决方案--------------------struts2中的拦截器,处理一下,网上有源码!
------解决方案--------------------
乱码一般不都这样吗?
做个过滤器。。统一utf-8
js提交的话重新编码一下
一般不会出现乱码了。。。
------解决方案--------------------可以试试用jstl的<c:url>标签来传中文
------解决方案--------------------写个过滤,request.setCharacterEncoding("utf-8");过滤下就行了。
------解决方案--------------------一看数据库 不是 UTF-8 哈哈
------解决方案--------------------对不起 没看清楚题目 action乱码
------解决方案--------------------在跳转页面 在获取第一个参数前加上
request.setCharacterEncoding("GBK");
------解决方案--------------------在国内一般你用 gb2312 编码,也可以的。
------解决方案--------------------在web.xml中设置
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
服务器中server.xml中 设置 URIEncoding="UTF-8" 试试
------解决方案--------------------public class EncodingFilter implements Filter
{
public void destroy()
{
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException