首页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
另外说明下我的代码是从网上下载的,难道是它本身代码的编码问题吗?
首页设置为<%@ 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
另外说明下我的代码是从网上下载的,难道是它本身代码的编码问题吗?
解决方案 »
- 有关使用flex,BLAZEDS, 判断session过期的问题!!
- 模拟href 的 css样式
- Eclipse使用link加载Aptana出现异常!!!
- 开发jsp的IDE用哪个比较好?各有什么有点?
- 在线用户列表的实现方法(cookie或session)
- 为什么session老是失效?
- 我的第一步该如何开始??高分求助
- 怎样判断从数据库取出的空内容,怎样去掉前后空格
- 请教jsp问题
- 谁能帮我看看这个问题出在那啊??
- --filter中把请求参数用base64加密解密怎么做?
- hibernate Batch update returned unexpected row count from update [0]; actual row
假如是tomcat的话。他的默认编码是:ISO-8859-1
改成这样:station= new String(station.getBytes("ISO-8859-1"),"gb2312");
因为你的请求,会经过tomcat这一点。他会转一次。
2、tomcat里面的server.xml里面设置成:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
response.setCharacterEncoding("gb2312") ;
设置看看
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
把 response 改成相应的访问控制对象
配置一个filter,然后对request进行过滤,设置编码格式。
前边大侠们说的都各有道理: 我通常的做法是
首先,在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");
试试。