日期:2014-05-16 浏览次数:20497 次
转:http://www.cnblogs.com/gxl521/archive/2011/10/19/2217786.html
?
项目中有一个功能,对数据库的备份与还原,在还原的工程中用户可以自己选择文件,文件中可能存在中文,那么我们以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
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|