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();
}
//参数进行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();
}