请教一个关于jsp的编码问题 我在jsp页面中输入中文字符,传到servlet中是乱码,是不是编码的问题,怎么解决啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是那个问题 你作一个Filter 防止一下这样类似的问题 要是只针对一个servlet的话就在servlet的dopost或doget方法添加request.setCharacterEncoding("utf-8");这句话要是对所有的servlet要么每个都加,要么用Filter过滤器,不过建议你用过滤器 就用这个~~~当然、楼主需要注意的是、页面与Servlet的编码方式尽量一致、如果页面使用UTF那么Servlet或者你的Filter中也设置成UTF。 在页面上进行编码String a = java.net.URLEncoder.encode("中文")到后台解码:java.net.URLDecoder.decode(request.getParameter("a"), "UTF-8"); 配置一个filter设置request和response的编码方式都为utf-8jsp里面也是、然后修改tomcat里面的server.xml具体怎么修改自己百度下、我忘了 中文乱码有很多种情况,解决的方法也不尽相同。根据具体情况而定,可以用以下方法测试一下。看哪种好用1。首先要保证编码方式一致,很多情况是因为编码方式不统一,造成乱码。如:UTF-8为例。 在JSP页面中头部要有<%@ page language="java" pageEncoding="UTF-8"%> 在head中间加上<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 这个可以确保页面编码方式是UTF-8 其次, 将你的工程也都设置成UTF-8的编码方式,Windows -- Preferences -- General -- Content Type中可以设置,但是这是IDE级别的,建立的所有项目都会按照Content Type中的编码显示。也可以在myeclipse中,鼠标右击工程 -- Properties -- Resource -- Text file encoding 在other中选择utf-8,这样确保每一个类同样也是UTF-8, 在java 类中,当你要获取页面的参数时,通过String str = request.getParameter( "name "); String value = new String(str.getBytes( "ISO-8859-1"), "UTF-8"); 记住必须用这种标准的格式,有时用String value = new String(str.getBytes( ), "UTF-8");这样有时不好使。2。有时还要看你用是服务器,如TOMCAT,有时需要在TOMCAT/CONF/SERVER.XML中的修改 <Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> URIEncoding="UTF-8"加上这个。有时这个还得去掉,因为有时是类中可能已经编码方式转过了。 request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");放在servlet方法里的最前头试试 request.setCharacterEncoding("utf-8");//在你的servlet最上边加上这句 websphere 的war包更新后。有一列无法显示。请帮忙 没办法,准备转测试,请各位指点 jsf Datatable 中h:selectOneMenu 联动 静态方法中,为什么可以用创建对象去访问非静态变量或方法? java操作excel 跪求答案!!!!!!!!!!! java serversocket 长连接,客户端断开的问题 struts2工程运行总是显示找不到资源 [求助]ajax无法返回带汉字的xml 我要在后台获取远程的html文件,然后将此文件在前端打开一个新的页面进行展示 紧急求救各位大侠:request.getServletPath()问题 java上传文件的问题!
要是对所有的servlet要么每个都加,要么用Filter过滤器,不过建议你用过滤器
到后台解码:java.net.URLDecoder.decode(request.getParameter("a"), "UTF-8");
设置request和response的编码方式都为utf-8
jsp里面也是、
然后修改tomcat里面的server.xml
具体怎么修改自己百度下、我忘了
1。首先要保证编码方式一致,很多情况是因为编码方式不统一,造成乱码。如:UTF-8为例。
在JSP页面中头部要有<%@ page language="java" pageEncoding="UTF-8"%>
在head中间加上<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
这个可以确保页面编码方式是UTF-8
其次, 将你的工程也都设置成UTF-8的编码方式,Windows -- Preferences -- General -- Content Type中可以设置,但是这是IDE级别的,建立的所有项目都会按照Content Type中的编码显示。
也可以在myeclipse中,鼠标右击工程 -- Properties -- Resource -- Text file encoding 在other中选择utf-8,这样确保每一个类同样也是UTF-8,
在java 类中,当你要获取页面的参数时,通过
String str = request.getParameter( "name ");
String value = new String(str.getBytes( "ISO-8859-1"), "UTF-8");
记住必须用这种标准的格式,有时用
String value = new String(str.getBytes( ), "UTF-8");这样有时不好使。
2。有时还要看你用是服务器,如TOMCAT,有时需要在TOMCAT/CONF/SERVER.XML中的修改
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
URIEncoding="UTF-8"加上这个。有时这个还得去掉,因为有时是类中可能已经编码方式转过了。
response.setContentType("text/html;charset=utf-8");放在servlet方法里的最前头试试
request.setCharacterEncoding("utf-8");
//在你的servlet最上边加上这句