把取得的参数进行转码:String name = request.getParameter("name");String result = new String(name.getBytes("ISO-8859-1"),"UTF-8");
String name = request.getParameter("name");String result = new String(name.getBytes("ISO-8859-1"),"GBK"); 建议使用过滤器来过滤
when u using get method to transfer the variable pls useString name=Encoder.encode(str); then put it into ur urlwhen in the page u jumped or redirected,use String name=Decoder.decode(str);to get the correct the chinese info.
a.jsp?name=request.getAttribute("name")
a.jsp?name=${name}
建议使用过滤器来过滤
then
put it into ur urlwhen in the page u jumped or redirected,use
String name=Decoder.decode(str);to get the correct the chinese info.
后者是request对象的一个方法,是获得http请求的响应消息,这个消息是一个个的键值对,存储的只能是字符串。
再者,使用get方法时,过滤器是没用的,过滤器只对post方法管用。
1.页面设置pageEncoding="GBK"
2.把tomcat的server.xml文件中找到<Connector…………,在后面加上URIEncoding="GBK"/>搞定!
http://family168.com/tutorial/jsp/html/jsp-ch-02.html#jsp-ch-02-02-03
转码我已经用了这个了java.net.URLEncoder.encode( “测试”,"UTF-8")
但是还是不行
String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"GBK");
现在在jsp中的编码问题已经解决但是又有新的问题了因为这个程序由 2部分组成的
全都是jsp的部分现在已经正常但是用struts写的部分又有问题了,现在post 方法用转码
String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"GBK");
这样子 一切ok,但是get方法就有问题了
在没进行转码之前 就是正确的中文 这个问题要怎么解决呢?
谢谢!
request.setCharcterEncoding("GBK");
"setCharcterEncoding"这个方法可以在一个Servlet类中通过reqeust点出来
当然你要继续传下去的话可以用response.setCharat..进行格式化后传出