日期:2014-05-17  浏览次数:20735 次

乱码问题,怎么弄也弄不好啊 求高手!
首页Index.jsp有个表单,提交到userloginservlet,在userloginservlet里得到的提交内容汉字是乱码呀。
首页设置为<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
在userloginservlet的代码为
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String station = request.getParameter("station");
station= new String(station.getBytes("gb2312"));
PrintWriter out=response.getWriter();
out.println(name);
out.println(pwd);
out.println(station);
哎,怎么弄都不行呀 请高手指点!MyEclipse默认编码为UTF-8
 另外说明下我的代码是从网上下载的,难道是它本身代码的编码问题吗?

------解决方案--------------------

前边大侠们说的都各有道理: 我通常的做法是
首先,在servlet开始语句加上
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
其次,对乱码的汉子进行一个转码。 例如,station= new String(station.getBytes("ISO-8859-1"),"gb2312");
再次,加一个过滤器把你所有页面过滤成UTF-8。

3道防线 绝对可靠
三个都做了如果还是不行,就把 station= new String(station.getBytes("UTF-8"),"gb2312");
试试。