A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 樊占江 中级黑马   /  2012-8-17 02:58  /  1020 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Myeclipse里设置了utf-8 jsp也是 html也是
html页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://bbs.itheima.com/forum.php">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="luanma" method="get">
欢迎进入用户注册页面<br/>
姓名:<input type="text" name="name" />
<input type="submit" value="提交" />
</form>
</body>
</html>

servlet:
package com.luanma;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Luanma extends HttpServlet {

@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
resp.getWriter().print(name);

}
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp);
}
}


为什么输入了姓名之后,页面返回的是乱码啊 现在做的这个小项目就是,只要在网页上输入的是汉字,储存到数据库里的就是乱码.我的myeclipse oracle 所有的都设置成utf-8了 以前还没乱码,突然就有了


2 个回复

倒序浏览
版本低导致的乱码


特别说明,如果你的浏览器是 ie6 或以下版本,则我们的 ② 和 ③中情况会出现乱码(当中文是奇数的时候)


解决方法是 :


String
info=java.net.URLEncoder.encode("你好吗.jpg", "utf-8");


<a href=”http://www.sohu.com?name=”+ info >测试</a>


response.sendRedirect(“servlet地址?username=”+info);


说明: 我们应当尽量使用post 方式提交;


返回浏览器显示乱码


在服务端是中文,在response的时候,也要考虑浏览器显示是否正确,一般我们通过


response.setContentType(“text/html;charset=utf-8”);
ok





下载提示框中文乱码


补充一个知识点: 当我们下载文件的时候,可能提示框是中文乱码


String temp=java.net.URLEncoder.encode("传奇.mp3","utf-8");


response.setHeader("Content-Disposition","attachment;
filename="+temp);

回复 使用道具 举报
你只存储汉字的话 个人推荐你用gb2312
尽量使用post 方式提交
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马