技术分享Flex提交到jsp页面出现乱码解决办法

在学习Flex的过程中,你可能会遇到Flex提交到jsp页面出现乱码的问题,这里和大家分享一下解决方法,相信本文介绍一定会让你有所收获。

成都创新互联公司专注于企业营销型网站、网站重做改版、让胡路网站定制设计、自适应品牌网站建设、成都h5网站建设商城建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为让胡路等各大城市提供网站开发制作服务。

Flex提交到jsp页面出现乱码解决办法

Flex提交到jsp页面默认使用的都是utf-8编码,包括Get,Post等方法。而Tomcat服务器端接收request对象默认是8859_1编码,添加Tomcat的requestFilter用request.setCharacterEncoding("utf-8");来设置,这个方法属于Tomcat设置和Flex无关,暂不讨论!

◆Flex->Jsp:

有2种情况//我试验第2中情况,测试通过。
.
◆情况一、MXML源代码文件中写入的中文字符:

Flex使用System.useCodepage=true;即使用本地操作系统编码(GBK)设置Flex的处理编码。Jsp中用依然用ISO_8859_1编码来处理,并转化为GBK。这样Jsp可以正确解释Flex传递的中文字符。这个时候可以认为Flex对mxml源代码文件进行编译时候,源代码中的中文字符已经混乱了,所以要加上System.useCodepage=true;语句,按GBK编码将中文字符从Flex发送到Tomcat。
同时Tomcat中Jsp应该按GBK重新编码

 
 
 
  1. StringcategoryID=request.getParameter("categoryID");
  2. StringstrOut=newString(categoryID.getBytes("ISO8859-1"),"GBK");
  3. System.out.println("categoryID="+categoryID);
  4. System.out.println("categoryID="+strOut);

◆情况二、Flex运行时候由输入框输入的中文字符

这个时候输入框输入的中文字符是一定为UTF-8编码的,所以Flex中System.useCodepage=false;或者不设置,就默认utf-8编码格式传递数据,而Tomcat中Jsp使用下面语句按UTF-8来重新编码

 
 
 
  1. StringcategoryID=request.getParameter("categoryID");
  2. StringstrOut=newString(categoryID.getBytes("ISO8859-1"),"utf-8");
  3. System.out.println("categoryID="+categoryID);
  4. System.out.println("categoryID="+strOut);

Jsp->Flex:

Jsp页面用页面指令<%@pagecontentType="text/html;charset=utf-8"%>设置,返回结果是utf-8编码,Flex接收后成功解释并正确显示。

◆测试环境:

Windows2000Server(字符集为GBK)
Tomcat5.0.28(默认设置)
JDK1.5.0
Flex1.5(默认设置)
SqlServer2000Sp3

分享名称:技术分享Flex提交到jsp页面出现乱码解决办法
本文URL:http://www.csdahua.cn/qtweb/news6/111056.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网