首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp <input text> post交付到action 中文乱码

2013-06-19 
jsp input text post提交到action 中文乱码我在jsp的页面中有一个input typetext namename idn

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


{
request.setCharacterEncoding("UTF-8");
chain.doFilter(request,response);
}

public void init(FilterConfig arg0) throws ServletException
{
}

}


[解决办法]
<filter>
        <filter-name>encoding</filter-name>
        <filter-class>
            com.shfft.filter.EncodingFilter
        </filter-class>
    </filter>



web.xml
[解决办法]
场合:页面本身有中文的时候
解决办法:servlet:resp.setContentType("text/html;charset=gbk");
Jsp: <%@ page contentType="text/html;charset=gb2312"%>
注意:一定要写在PrintWriter out = resp.getWriter();之前

场合:解决get方式乱码问题:
解决办法:修改server.xml URIEncoding="GBK"

场合:解决post方式提交内容的乱码
解决办法:request.setCharacterEncoding("GBK");
注意:一定要写在存取第一个参数之前
不要调用response.setCharacterEncoding("GBK");


场合:<jsp:param name="user" value="<%=s%>"/>,url地址包含中文参数
解决办法:<%request.setCharacterEncoding("GBK");%>

热点排行