Flex与Severlet(Jsp)通信传递中文参数乱码问题的解决
&singername="+singer_name.text; &singername="+singer_name.text;
//上传音乐部份 public var myFileReference:FileReference = new FileReference(); public var mp3Type:FileFilter=new FileFilter("MP3(*.mp3)","*.mp3"); public var allowType:Array=new Array(mp3Type); private function uploadMP3():void{ // System.useCodePage=false;//GBK var musicname:String=music_name.text; var singername:String=singer_name.text; if(musicname==""){ mx.controls.Alert.show("音乐名称不能为空"); }else if(singername==""){ mx.controls.Alert.show("歌手不能为空"); }else if(musci_sName.text==""){ mx.controls.Alert.show("上传音乐不能为空"); }else{ // Alert.show("歌手名:"+singername); //Alert.show("歌曲名"+musicname); var url:String="http://202.197.108.65:8080/Flex/uploadmp3.jsp?musicname="+encodeURIComponent(music_name.text)+"&singername="+encodeURIComponent(singer_name.text); var request:URLRequest = new URLRequest(url); request.method="post"; try { //上传文件 myFileReference.upload(request); CursorManager.setBusyCursor(); // showDetail.text = "upload"; }catch (error:Error){ cursorManager.removeBusyCursor(); removeAllEvent(); mx.controls.Alert.show("上传出错"); } } } public function browse():void{ //浏览本地本地文件 myFileReference.browse(allowType); //为打开选择框定义事件处理 myFileReference.addEventListener(Event.SELECT, selectHandler); //在上传过程中触发的事件处理 myFileReference.addEventListener(ProgressEvent.PROGRESS, onProcess); // myFileReference.addEventListener(Event.COMPLETE, onComplete); //在上传过程中出错处理 myFileReference.addEventListener(IOErrorEvent.IO_ERROR,ioErrerHandler); //处理返回信息 myFileReference.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,returnmsgHandler); } //先择文件 public function selectHandler(event:Event):void{ musci_sName.text=myFileReference.name; } //取消文件上传 public function uploadCancel():void{ myFileReference.cancel(); CursorManager.removeBusyCursor(); removeAllEvent(); } //上传过程中的事件 public function onProcess():void{ mx.managers.CursorManager.setBusyCursor(); } import mx.managers.CursorManager; public function returnmsgHandler(event:DataEvent):void{ CursorManager.removeBusyCursor(); var result:Boolean=event.data.toString() as Boolean; mx.controls.Alert.show("上传成功"); sendRequestToGetMusicInfo(); } //上传过程中出错处理 public function ioErrerHandler(event:IOErrorEvent):void{ removeAllEvent(); CursorManager.removeBusyCursor() Alert.show("上传出错","错误"); } //remove all the listerners public function removeAllEvent():void{ myFileReference.removeEventListener(Event.SELECT, selectHandler); //在上传过程中触发的事件处理 myFileReference.removeEventListener(ProgressEvent.PROGRESS, onProcess); // myFileReference.removeEventListener(Event.COMPLETE, onComplete); myFileReference.removeEventListener(IOErrorEvent.IO_ERROR,ioErrerHandler); myFileReference.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA,returnmsgHandler); }
?
?
后代JSP中代码如下:
?
Java代码?
来自as3 文档一个布尔值,它告诉 Flash Player 使用哪个代码页来解释外部文本文件。 当该属性设置为 false 时,Flash Player 使用 Unicode 解释外部文本文件。 (保存这些文件时,必须使用 Unicode 对其进行编码。) 当该属性设置为 true 时,Flash Player 使用运行播放器的操作系统的传统代码页来解释外部文本文件。 useCodePage 的默认值是 false。