chrome ajaxSubmit form提交乱码
2012-07-20 10:56
253 查看
jsp页面进行转码
$("#parasummary").attr("value",escape($("#summary").val()));
form提交到java后用下面的函数解码就可以了
/**
* 汉字解码
* @param urlStr
* @return
* @author:Wangjc
*/
public static String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src
.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src
.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
还有一个函数是java的转码函数,如下
/**
* 汉字编码
* @param urlStr
* @return
* @author:Wangjc
*/
public static String escape(String src) {
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for (i = 0; i < src.length(); i++) {
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j)
|| Character.isUpperCase(j))
tmp.append(j);
else if (j < 256) {
tmp.append("%");
if (j < 16)
tmp.append("0");
tmp.append(Integer.toString(j, 16));
} else {
tmp.append("%u");
tmp.append(Integer.toString(j, 16));
}
}
return tmp.toString();
}
$("#parasummary").attr("value",escape($("#summary").val()));
form提交到java后用下面的函数解码就可以了
/**
* 汉字解码
* @param urlStr
* @return
* @author:Wangjc
*/
public static String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src
.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src
.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
还有一个函数是java的转码函数,如下
/**
* 汉字编码
* @param urlStr
* @return
* @author:Wangjc
*/
public static String escape(String src) {
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for (i = 0; i < src.length(); i++) {
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j)
|| Character.isUpperCase(j))
tmp.append(j);
else if (j < 256) {
tmp.append("%");
if (j < 16)
tmp.append("0");
tmp.append(Integer.toString(j, 16));
} else {
tmp.append("%u");
tmp.append(Integer.toString(j, 16));
}
}
return tmp.toString();
}
相关文章推荐
- 解决JQuery表单异步提交到action的乱码问题(ajaxform,ajaxsubmit)
- Extjs form.submit()提交与Ext.Ajax.request的区别
- form表单submit提交时,用ajax做异步验证
- 第一篇正文--关于form的提交(ajax,submit)
- extJS提交form表单数据的方式: Ext.Ajax.request,form.submit,getEl().dom.submit()
- 使用jquery.form.js的ajaxsubmit方法提交时参数file标签有值报JS错误
- Extjs Ajax 提交方式 Form.doAction('submit',...)和 Ext.Ajax.request的返回值
- Extjs form.submit()提交与Ext.Ajax.request的区别
- 【js】Ajax提交form表单(ajaxSubmit使用讲解 )
- 【jquery采坑】Ajax配合form的submit提交(微擎表单提交,ajax验证,submit提交)
- 利用ajaxSubmit()方法实现Form提交表单后回调
- form表单,submit,ajax提交
- ExtJS的Ajax提交(Ext.Ajax.request或form1.getForm().submit)超时设置timeo...
- JavaScript解决一个带验证的Form两个Submit事件(一个页面保持不动【AJAX实现】,一个页面提交并跳转)的场景
- Ext FormPanel submit 提交与Ext.Ajax.request提交的区别 深究
- form 表单提交submit 和 ajax 混用可能导致后台 错误
- JQuery ajaxSubmit提交中文乱码的解决方案
- 利用AjaxSubmit()方法实现Form提交表单后回调功能
- ajax、form提交乱码
- Ext FormPanel submit 提交success 与Ext.Ajax.request提交的success 区别