jsp 表单提交中文数据乱码怎么解决呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp 表单提交中文数据乱码怎么解决呢?相关的知识,希望对你有一定的参考价值。
q1.html <form action="q2.jsp" method="post">
请输入您的姓名:<input type="text" name="name">
<input type="submit" value="提交">
</form>q2.jsp <%!String name=""; %>
<%
name=request.getParameter("name");
session.setAttribute("username",name);
%>
您的姓名是:<%=name %><br/>
<div>
<form method="post" action="q3.jsp">
你喜欢的水果是:<input type="text" name="fruit">
<input type="submit" value="提交">
</form>英文字母没有乱码,就中文出现乱码!
request.setCharacterEncoding("GB2312");
%> 参考技术C request.setCharter("UTF-8");
就可以了那个Charter好像拼的不对,就是字符的意思,jSP的第一句话上面有 参考技术D 由于你使用POST方法提交,所以不用考虑TOMCAT配置文件编码的问题,只需要保证页面编码,和后台编码一致即可。在浏览器右键看一下你的页面编码是不是utf-8,然后看看在servlet之前有没有过滤器改变过编码就可以了 应用一下方法,百分之九十都能解决掉了首先,就是加入过滤器,如果不起作用,就按下面方法来做。 为了让JSP编译器能正确地解码我们的含有中文字符的JSP文件
<%@ page pageEncoding="gb2312"%>
保证JSP向客户端输出时是采用中文编码方式输出
<%@ page contentType="text/html;charset=GB2312"%>
为了让JSP能正确获得传入的参数
<%request.setCharacterEncoding("gb2312");%>
对于SERVLET只要在最前面加上这句即可:
为了让JSP响应按照正确的编码格式
response.setContentType(”text/html; charset=gb2312″);
Debug - jsp 提交表单到 action 中文乱码
问题描述
jsp 页面使用 post 向 action 提交数据时中文发生乱码
通过在服务器和页面设置编码方式都没用
解决
这是我的表单
<form action="${pageContext.request.contextPath}/from.action">
用户名:<input type="text" placeholder="请输入用户名..." name="username"><br/>
昵称:<input type="text" placeholder="请输入用户名..." name="nick"><br/>
爱 好: <input type="checkbox" value="足球" name="hobby">足球
<input type="checkbox" value="篮球" name="hobby">篮球
<input type="checkbox" value="乒乓" name="hobby">乒乓球<br/>
<input type="submit" value="提交">
</form>
在 form 标签里面没有指定 method 属性,所以当前是以默认方法 Get 提交,而页面上所有的编码设置对于 Get 方法是彻底无效的,只要指定提交方式为 post 就行了
method="post"
!-->以上是关于jsp 表单提交中文数据乱码怎么解决呢?的主要内容,如果未能解决你的问题,请参考以下文章