extjs url中文乱码处理 -- encodeURI(filePath)

转:http://www.cnblogs.com/gxl521/archive/2011/10/19/2217786.html

 

extjs url中文乱码处理 -- encodeURI(filePath)

项目中有一个功能,对数据库的备份与还原,在还原的工程中用户可以自己选择文件,文件中可能存在中文,那么我们以ajax的方式提交到后台就会出现乱码。所以需要我们对这样的数据进行编码,传到后台以相同的编码格式解码。

 

要对中文进行重编码如下代码:

filePath="E:\中文.sql";

Ext.Ajax.request({
      url:"group.do?method=recoverSmu&fileName="+encodeURI(encodeURI(filePath)),
      success:function(){
          //Ext.Msg.alert('提示','数据库还原成功');
           Ext.Msg.alert(alertConfig.prompt,alertConfig.restoreSuccess);
       }
 });。

后台程序中要对编码的内容解码如下:

  String fileName = request.getParameter("fileName");
  InputStream in = null;
  fileName = java.net.URLDecoder.decode(fileName, "UTF-8");//处理中文文件名的问题
  //fileName = new String(fileName.getBytes("UTF-8"),"GBK");//处理中文文件名的问题。

此过程便可完成对由url传递中文进行解析。

 

附录:

escape()编码,不能编码URI unescape()解码,不能编码URI
encodeURIComponent()编码范围比encodeURI大些 decodeURIComponent()解码范围比encodeURI大些
encodeURI()对一个URI编码 decodeURI()对一个URI解码
isFininte()检测表达式的值,如果不是无穷大或NaN则为True isNaN()判断是否NaN
confirm()确认取消对话框 prompt()带输入信息的对话框
paraseFloat()转换成小数 paraseInt()转换成整数

你可能感兴趣的:(encodeURI)