我又来了。。。。后台传值中文,前台乱码,怎么解决。。。。

ducksma2 2010-07-06 03:59:16
原贴http://topic.csdn.net/u/20100706/13/62fdfcc5-1e39-41fe-bd6a-c4765f5a7fd0.html

这个问题接着上一个的。。。前台有中文,传到后台乱码,这个问题我解决了。。。

但是后台JAVA
ServletActionContext.getResponse().getWriter().print("你好")


前台

if(xmlhttp.readyState == 4){
if(xmlhttp.status == 200){
var retText = xmlhttp.responseText;
alert(retText); -----------------------------------------中文乱码了,变成了???
}
}


怎么弄。。。。求救,在线等。。。。自己边找资料边等。。。。
...全文
705 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingYun1029 2010-07-06
  • 打赏
  • 举报
回复
i 服了 you !

jf
hoojo 2010-07-06
  • 打赏
  • 举报
回复

js传参要解决乱码
xmlhttp.open("GET","login.action?strName=" + encodeURIComponent(strUserName) ,true);
or
xmlhttp.open("GET","login.action?strName=" + encodeURI(encodeURI(strUserName)) ,true);

这样中文参数就被编码传过去了




public String execute() throws Exception {
//String strName= (String)ServletActionContext.getRequest().getAttribute("strName"); -----问题。。。
//获取参数的方式不对
//1、利用strtus2的特性,设置strName的getter、setter方法就会自动帮我们获取或设置参数
//2、用getParameter获取参数
String strName= (String)ServletActionContext.getRequest().getParameter("strName"); //这种方式侵入了servlet的api,不建议使用。用setter比较好
strName = URLEncoder.encode(strName , "utf-8");//前台参数进行转码,这里也需要解码
if(!"".equals(strName) && strName!= null){
ServletActionContext.getResponse().getWriter().print("欢迎"+strName);
}
return null;
}




responseText乱码设置response编码格式
response.setCharacterEncoding("utf-8")
request.setCharacterEncoding("utf-8")
piaolankeke 2010-07-06
  • 打赏
  • 举报
回复
真佩服你!
灬上海爽爷 2010-07-06
  • 打赏
  • 举报
回复
JF...
zoujp_xyz 2010-07-06
  • 打赏
  • 举报
回复
JF。。。
ducksma2 2010-07-06
  • 打赏
  • 举报
回复
。。。。。。。。。。。我太聪明了。。。。。。。。。自己又解决了。。。。。。。。。。。。晕哦。。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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