Code Bye

jsp 提交表单以什么编码格式提交,都设置utf-8了为什么提交到后来是乱码?

我的jsp页面这样写的
<%@ page contentType=”text/html; charset=utf-8″ language=”java” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<title>测试</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

</head>
<body>
<br>
<form id=”form1″ name=”form1″ action=”action.jsp” method=”post” enctype=”multipart/form-data”>
<table width=”96%” border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″>
  <tr> 
<td align=”right”>名称:</td>
<td colspan=”9″ align=”left”><input type=”text” id=”name” name=”name” size=”79″/></td>
  </tr>
  <tr> 
<td align=”right”>简介:</td>
<td colspan=”9″ align=”left”>
<textarea id=”summary” name=”summary” rows=”6″ cols=”70″></textarea>
</td>
  </tr>
  <tr> 
<td align=”right”>文件:</td>
<td colspan=”9″ align=”left”>
<input type=”file” name=”file” size=”50″ />
</td>
  </tr>
  <tr> 
<td colspan=”10″ align=”center”>
<input type=”submit” value=”保存” />
</td>
  </tr>
</table>
</form>
</body>
</html>


2分
用data=new String(data.getBytes(“iso8859-1″),”utf8”);转换一下看看

2分
貌似那个只是设置的页面的字符集是UTF-8,和提交没什么关系,提交之后如果是乱码还需要转码!

2分
你提交到哪了?Servlet端处理编码类型了吗

2分
后台也贴出来看看呢

2分
request.setCharacterEncoding(“utf8”);
response.setCharacterEncoding(“utf8”);
???

2分
引用

#5

+1

后台jsp处理的,代码如下

<%@ page contentType=”text/html; charset=utf-8″ language=”java” %>
<% 
request.setCharacterEncoding(“UTF-8”);
String result = “操作成功!”;

String contentType = request.getContentType();
if ((contentType.indexOf(“multipart/form-data”) >= 0)) {
DiskFileItemFactory factory = new DiskFileItemFactory();

// 创建一个新的文件上传处理程序
ServletFileUpload upload = new ServletFileUpload(factory);

// 解析获取的文件
     List fileItems = upload.parseRequest(request);
     // 处理上传的文件
Iterator i = fileItems.iterator();
while (i.hasNext()) {
FileItem fi = (FileItem)i.next();

if(fi.getFieldName().equals(“name”)) {
System.out.println(fi.getString());
}
if(fi.getFieldName().equals(“summary”)) {
System.out.println(fi.getString());
}
}
}

%>
<html>
<head>
</head>
<body>
<font colofr=”#FF0000″><%=result %></font>
</body>
</html>


2分
编码一般都会有一个过滤器来处理的。

2分
把tomcat的URIEncoding设置为utf-8试试

2分
    eclipse 环境 也 设置编码 。。。。

2分
一般就是页面、后台、数据库、服务器统一设置相同的编码。。。。。
页面、后台、数据库、服务器全部统一了都是UTF-8,但是就是后台回去传过来的值的时候是乱码!

2分
response.setCharacterEncoding(“utf8”);

2分
看到乱码,一般不想回答,因为问这个问题的人太多了,但是还是忍不住说几句吧。
1. 项目决定用 UTF-8
2. 程序的源码要用 UTF-8(Java,HTML)
3. HTML 的 meta 里要指定用 UTF-8
4. 数据库用 UTF-8
5. 数据库和 Java 的连接用 UTF-8
6. Tomcat 的 Get 设置为用 UTF-8

其他的暂时想不起来的,只有这些都用了 UTF-8,那么才不会出现乱码,如果中间有某一个没有使用 UTF-8,都有可能会遇到乱码。


2分
<%@ page contentType=”text/html; charset=utf-8″ language=”java” %>
只是指定了JSP生成的Java文件用 UTF-8

<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ />
才是指定 HTML 用 UTF-8


2分
eclipse 编译格式  是不是用的utf-8 

2分
Quote: 引用 5 楼 Menglinyang 的回复:

request.setCharacterEncoding(“utf8”);
response.setCharacterEncoding(“utf8”);
???[/quote在接收页面


10分
引用 3 楼 a137655624 的回复:

你提交到哪了?Servlet端处理编码类型了吗

+1


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明jsp 提交表单以什么编码格式提交,都设置utf-8了为什么提交到后来是乱码?