jsp跳转页面时传了个中文的参数,可到另一个页面时成了乱码,我用网上说的过滤器了,还是不管用,请各位大侠帮忙!!!!
解决方案 »
- jsp的${obj.id}写法失效?
- eXetremeTable索引
- NoClassDefFoundError: javax/xml/registry/infomodel/User 错误如何解决
- hibernate高手请进:hibernate中如何使用lazy=no-proxy
- JSP十问?
- JAVA Jtable可以实现分组小计与合计吗?
- 连接SQL SERVER2000的问题
- 有经验者请进,50分求 用jspsmartupload组件,如何读取.doc文件
- 为什么我在叶面上输出一个“~”字符的时候,却出现了这种情况??
- 【讨论】关于查询自己关注的好友所发的微博按时间排序,大家有没有好的解决方案?
- 关于servlet有点小问题
- 怎样从服务器主机的硬盘中读取图片~~~~~~~~~~~~
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.redv.projects.eduadmin.util.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>我程序是<a href="index.jsp?type2=网络工程">网络工程</a>然后到了index.jsp中 type2=????,可我该设成gb2312的都设了啊,怎么还是有问题
String name = request.getParameter(textname);
name = new String(name.getBytes("ISO8859_1"));
jsp页面的pageEncoding设置为utf-8,注意传递页面和接收页面的编码要一致,最好都是utf-8
这种乱码最常见也最好解决
在page指令中添加页面内容和显示方式的设置,如下两种都可以:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page language="java" import="java.util.*" ContentType="text/html;charset=gb2312"%>
有人会问pageEncoding和ContentType有什么区别,简单说
contentType指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码
pageEncoding指定JSP编写时所用的编码
2.表单提交中文乱码
当用Request对象获取客户提交的汉字代码的时候,会出现乱码
Method=”POST”
接收数据的文件中要加入<% request.setCharacterEncoding("gb2312");%>
3.中文作为参数传递乱码
new String(userName.getBytes("ISO-8859-1"), "gb2312")这句代码是转换编码格式的关键,这种转码方式还可以用在读取数据库中文乱码的转码!但要是原来的字符编码不是ISO-8859-1时这个方法就会失效,出错!
try{
byte[] tempByte = gbStr.getBytes("GB2312");
uniStr = new String(tempByte,"ISO8859_1");
}catch(Exception ex){
}
你也可以在直接的转换,首先你将获取的字符串用ISO-8859-1进行编码,然后将这个编码存放到一个字节数组中,然后将这个数组转化成字符串对象就可以了,例如:
String str=request.getParameter(“字符串”);
Byte B[]=str.getBytes(“ISO-8859-1”);
Str=new String(B);
4.读取cookie时出现乱码
写入cookie时先编码
Cookie nameCookie = new Cookie("name", java.net.URLEncoder.encode(strname,"GB2312"));
读取cookie时再解码
String name=java.net.URLDecoder.decode(name,"GB2312")
或者采用树上第136页的方法
写入cookie时先编码,将汉字编码转换为Unicode编码,解决汉字乱码问题
读取cookie时再解码,将Unicode编码转换为汉字编码,解决汉字乱码问题
你还是用其他的东西代替汉字吧,虽然java对 汉字有支持,那也不至于这么用吧