乱码问题,急需解决,超急等待,从今晚一直等到明早,大家一定帮顶!万分感谢

Mars.CN 2008-12-17 10:40:13
首先说明,我做的是wap的东西,jsp的我倒是没遇到过这样恶心的问题
首先是由一个页面提交数据过来到servlet,然后从servlet转到另外一个jsp页面
传过来的中文没问题
request.setAttribute("error", "登录失败<br />您输入的手机号码不正确!");
request.getSession().setAttribute("error", "登录失败<br />您输入的手机号码不正确!");
getServletContext().getRequestDispatcher("/error.jsp").forward(request, response);
然后我这样跳过去


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml">
<wml xml:lang="zh-cn"> >
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>疯狂农场</title>
</head>
<card title="疯狂农场">
<img src="images/logo.gif" width="173" height="41" />
<br /><br />
<%=(String)request.getAttribute("error")%><br /><br />

<do type="accept" label="返回登录">
   <go href="login.jsp" />
</do>
</card>
</wml>

这是接收数据的页面
到这里问题就出来了,如果就这样直接接收的话,原来的文本不会乱码,接收的东西变乱码了
要是我再那个servlet里面加response.setContentType("text/html;charset=UTF-8"); 这个东西的话,我想输出的东西正常了,页面原来的东西竟然乱码了
好郁闷,这问题貌似以前从来没遇到过呀……
哪位乱码高手给解决一下?
搞wap的高手们也可以说说你们解决中文乱码的问题
谢谢大家了,很棘手!!
...全文
183 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzy2199hj 2009-01-08
  • 打赏
  • 举报
回复
String hh=requestgetParameter("sdf")
String s=new String(hh.getBytes("iso8859-1"),"UTF-8");
最好写个过滤器
lzy2199hj 2009-01-08
  • 打赏
  • 举报
回复
String hh=requestgetParameter("sdf")
String s=new String(hh.getBytes("iso8859-1"),"UTF-8");
最好写个过滤器
lzy2199hj 2009-01-08
  • 打赏
  • 举报
回复
String hh=requestgetParameter("sdf")
String s=new String(hh.getBytes("iso8859-1"),"UTF-8");
最好写个过滤器
liqiangxia 2009-01-08
  • 打赏
  • 举报
回复
到tomcat中的servlet.xml中将编码方式改成gbk
huang_w 2009-01-02
  • 打赏
  • 举报
回复
用过滤器,就不用管转来转去的了。tomcat里面就有例子,拿来改改就可以。
lihan6415151528 2009-01-02
  • 打赏
  • 举报
回复
String s=new String(request.getAttribute("error").getBytes("iso8859-1"),"UTF-8");
hechenqingtian 2009-01-02
  • 打赏
  • 举报
回复
用ISO-8859 转码
  • 打赏
  • 举报
回复
response.setContentType("text/html;charset=UTF-8")

WAP 页面不是 Web 页面,不用 text/html 的,得用 text/vnd.wap.wml
hbwhwang 2008-12-31
  • 打赏
  • 举报
回复
把你的那个XML文件存为UTF-8文本!
方法是用记事本打开,然后SAVE AS,选“编码”为“UTF-8”。
应该就不会乱码了。

这个问题产生的原因可能是你用的编辑器把XML文件保存为ANSI了。
cw550284 2008-12-31
  • 打赏
  • 举报
回复
filter过滤器啊
kongwei302 2008-12-18
  • 打赏
  • 举报
回复
request.setAttribute("error", java.net.URLEncoder.encode("登录失败 <br />您输入的手机号码不正确!","utf-8"));

ldxfsh 2008-12-18
  • 打赏
  • 举报
回复
request.setAttribute("error", java.net.URLEncoder.encode("登录失败 <br />您输入的手机号码不正确!","utf-8"));
或者这样试试
ldxfsh 2008-12-18
  • 打赏
  • 举报
回复
把所有的地方编码都统一了应该不会乱码了吧
jumpheightway 2008-12-18
  • 打赏
  • 举报
回复
这个地方字符编码缩小response.setContentType("text/html;charset=UTF-8");
Mars.CN 2008-12-18
  • 打赏
  • 举报
回复
MD,所有方法都解决不了,发现java的乱码问题实在太恶心了~!!!!@!!!!!!!!
pengpeng409 2008-12-18
  • 打赏
  • 举报
回复
最好做个过滤器了啊!呵呵!
freedomTTT 2008-12-18
  • 打赏
  • 举报
回复
写个过滤器试下 不然就这样了 String s=new String(request.getAttribute("error").getBytes("iso8859-1"),"UTF-8");



乱码也就request,response设置下,或者过滤器中转码
luoping007 2008-12-17
  • 打赏
  • 举报
回复
UP......
scott_1987 2008-12-17
  • 打赏
  • 举报
回复
在web里面配个过滤器行不行啊?让所有的页面跳转时都经过这个过滤器。
Rachael1001 2008-12-17
  • 打赏
  • 举报
回复
wap的编码格式和jsp应该不同
查看它的说明书吧
加载更多回复(2)

67,513

社区成员

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

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