jsp页面传值中文乱码问题

zings 2009-07-14 10:14:35
类似于...*.do?name=${name}&title=${title} 链接
然后这里的name和title都是汉字。。。

真是奇怪了!我试验的时候,有时候是四个及以下的汉字就没错,超过四个就提交有问题。后来我限制我四个以内之后,NND居然只有两个和两个以内的汉字提交才成功!!超过就出错!!不晓得怎么回事?

我想一个可能是我吧tomcat里面的URIEncoding="UTF-8" 的原因。。。但是又有其他乱码。。。乱码问题都烦死了!!!请高手解决下上面的乱码问题!!谢谢!!
...全文
1234 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangxiong0797 2012-09-26
  • 打赏
  • 举报
回复
String names=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");
qq645466690 2011-05-31
  • 打赏
  • 举报
回复
试一下 request.setCharaterEncoding("GBK");
wt12735 2009-09-11
  • 打赏
  • 举报
回复
是啊 我也一样
缸缸 2009-08-04
  • 打赏
  • 举报
回复
我今天也遇到这样的问题了,苦恼的,我还没搞定
缸缸 2009-08-04
  • 打赏
  • 举报
回复
问题解决了吗
linjiuping 2009-07-16
  • 打赏
  • 举报
回复
可以使用
public class ExportChar(String s){
public static String getNewString(){
String str=new String(s.getBytes("ISO-8859-1"),"gb2312");
if(str.equals(s)){
return str;
}else{
str=new String(s.getBytes("gb2312"),"ISO-8859-1");
return str;
}
}
}
tomandy 2009-07-16
  • 打赏
  • 举报
回复
设定连接那个页
的编码!
shore1111 2009-07-15
  • 打赏
  • 举报
回复
检查一下编码~
zings 2009-07-14
  • 打赏
  • 举报
回复
麻烦高手看看,提点意见。。。!!谢谢!!!
zings 2009-07-14
  • 打赏
  • 举报
回复
主要是想说放在上面传值的时候是参数是中文的问题!
zings 2009-07-14
  • 打赏
  • 举报
回复
不是,从来不用get!!我的那个是一个链接显示的东西!是鼠标放在上面就可以看见的一个链接!
zjcdxx2000 2009-07-14
  • 打赏
  • 举报
回复
你用get来请求吗?试试post
Bittersweet028 2009-07-14
  • 打赏
  • 举报
回复
会不会是Tomcat版本的问题,用Tomcat4.0试试看,Tomcat6.0,汉字处理要用
String str=request.getParameter(“girle”);

byte b[]=str.getBytes(“ISO-8859-1”);

gutou19861981 2009-07-14
  • 打赏
  • 举报
回复
确定${name},${title}此时是不是乱码?
如果这个时候是乱码那要先解决

URIEncoding=gb18030试试
haoziheyezi 2009-07-14
  • 打赏
  • 举报
回复
页面传值是用的超链接的话

最好多超链接编码

URLEncoder.encode("xxx.do?xxx","UTF-8");
qizhenailifa 2009-07-14
  • 打赏
  • 举报
回复
对接收的参数值进行new String(name.getBytes());
zings 2009-07-14
  • 打赏
  • 举报
回复
LS的谢谢了,过滤器我有的,其他的部分都很好,就是点击 鼠标放在上面的现实这种的 ...*.do?name=${name}&title=${title} 链接时候 就会有编码不识别问题!
ZhaoHuiZiXin 2009-07-14
  • 打赏
  • 举报
回复
自己写一个过滤器:


public class DoFilter implements Filter
{

public void destroy() {
}

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {

arg1.setCharacterEncoding("GBK");
arg2.doFilter(arg0, arg1);

}

public void init(FilterConfig arg0) throws ServletException {
}

}

在web。xml中配置:

<!-- 过滤器 -->
<filter>
<filter-name>encodingFilter </filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class>
<init-param>
<param-name>encoding </param-name>
<param-value>UTF-8 </param-value>
</init-param>
<init-param>
<param-name>forceEncoding </param-name>
<param-value>true </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter </filter-name>
<url-pattern>*.jsp </url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter </filter-name>
<url-pattern>*.do </url-pattern>
</filter-mapping>

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧