flex中HTTPService乱码解决

2009-01-19 / Category:Flex资料

Advertisement

1.在使用HTTPService传送数据带中文时出现乱码,如果解决呢?

//参数进行UTF-8的编码处理
private function httpEncoding(param:String):String{
 return encodeURIComponent(param); //encodeURI(param)
}

public function sendRequest(locale:String):void{
 var httpService:HTTPService=new HTTPService();
 httpService.resultFormat="text";
 httpService.url="servlet/TestServlet";

 //使用URLVariables动态对象传输设置参数
 var params:URLVariables=new URLVariables();
 params.locale=httpEncoding(locale);//中文编码处理

 var responder:Responder=new Responder(onSuccess,onFault);
 var call:AsyncToken=httpService.send(params);
 call.addResponder(responder);
}  

2.在后台接收参数进行解码(Java版).

public void doPost(HttpServletRequest request, HttpServletResponse response)
     throws ServletException, IOException {

 response.setContentType("text/html;charset=utf-8");
 request.setCharacterEncoding("utf-8");
 response.setCharacterEncoding("utf-8");
 PrintWriter out = response.getWriter();
 String locale = URLDecoder.decode(request.getParameter("locale"),
       "utf-8");

 out.println(locale);

 out.flush();
 out.close();
}

上一篇 下一篇

本文链接:http://www.scriptlover.com/post/327

Tags:  

Related posts