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>英文字母没有乱码,就中文出现乱码!

参考技术A <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> 参考技术B <%
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 表单提交中文数据乱码怎么解决呢?的主要内容,如果未能解决你的问题,请参考以下文章

javaweb表单提交中文乱码问题?

jsp 中用js提交表单并关闭本窗口的问题

jsp页面表单提交,controller接收乱码,数据库乱码等解决方法

java form表单递交出现乱码

jsp表单提交中文插入数据库,数据库出现问号?

在线等!关于jsp页面表单中文数据提交到后台出现乱码问题!