0 0

jquery formValidator3.1 ajaxValidator中文乱码5

$("#account").formValidator({tipid:"accountTip",onfocus:"4-20个字符",oncorrect:"输入正确."}).inputValidator({min:4,max:20,onerror:"你输入的用户名非法,请确认"})
    .ajaxValidator({
    type : "get",
url : "<%=path%>/checkUnique_myStageUser.action",
data:"account:"+$("#account").val(),
datatype : "json",
onwait : "正在对用户名进行合法性校验,请稍候...",
error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
onerror : "该用户名不可用,请更换用户名",
success : function(data){
if(data==1)return true;
else{
$("#account").val("");
$("#account").focus();
return false;
}
}
});

data:"account:"+$("#account").val(), 如果这里是中文字符则在后台action里得到的是乱码
若data:"account:"+encodeURIComponent($("#account").val())
或data:"account:"+encodeURI(encodeURI($("#account").val()))
后台action中java.net.URLDecoder.decode(account,"UTF-8")仍为乱码
说明:jsp页面为UTF-8编码 action类的编码格式也为"UTF-8"
问题补充:
试过的 不行的
问题补充:
呵呵 刚才就试过了的 不行咯
问题补充:
提交前alert($("#account").val());是正确的 没有乱码现象
在用到的formValidator.js中作者将值用encodeURIComponent()封装了一下
但我在后台使用java.net.URLDecoder.decode(account,"UTF-8")仍为乱码
郁闷之极了
问题补充:
换成GBK也试了 也没效果不知道该怎么办了
问题补充:
没有用到过滤器
前台打印alert($("#account").val());是正确的 没有乱码现象
后台打印原始account数据为 ?????
该如何处理
问题补充:
我用的是tomcat
打印出ISO-8859-1也是?????
问题补充:
tomcat的配置我没动过的
真可惜真的一个也不行啊 不知道怎么搞的
有电话没 留个 我打过去
问题补充:
我的问题解决了 没有网上给出的答案那么复杂
不用修改tomcat的URIEncoding
只要保持前台和后台的编码一致最好是UTF-8

我修改了formValidator.js
var parm = "clientid="+id+"&"+id+"="+encodeURI(encodeURI(srcjo.val()));
使用encodeURI两次,后台采用java.net.URLDecoder.decode(account,"UTF-8")即可解码还原中文了

谢谢关注,谢谢bohemia

问题补充:
呵呵 zhudp.cn 我问题解决了
response.setContentType("text/xml;charset=utf-8")是设置返回数据的编码的
我的是提交到action里时是乱码

通常ajax提交时页面采用utf-8后台采用utf-8编码也会出现后台接收时有乱码问题
我的解决方案是:在视图层提交时采用encodeURI两次编码,记住一定是两次
后台解码:java.net.URLDecoder.decode(account,"UTF-8")即可解码还原中文
问题补充:
web.xml设置filter 编码为UTF-8也是不行的
ajax理论也是采用UTF-8编码的但是还是会出现乱码的,我一直采用上面的方案解决.
现在我一般采用jquery对ajax采用了很好的封装,代码的可维护度不会出现什么问题.
2008年11月18日 13:50

11个答案 按时间排序 按投票排序

0 0

哦,是我没看清楚,是提交乱码,
不过,你不能总是,提交前设置一下,后台又设置一下,
代码维护和效率方面都有影响,在web.xml里把filter设置一下,轻松很多,
之所以用utf8就是为了避免ajax的中文乱码,如果你总是“一次提交,两次设置”,代码的可维护度将降低

2008年12月02日 00:06
0 0

估计是你的response的字符集错了,
response.getCharacterEncoding()出来看一下,
如果不是utf-8那就会乱码了,设置:
response.setContentType("text/xml;charset=utf-8")
前后台都是utf-8,没必要使用escape,影响效率!

2008年12月01日 14:40
0 0

response.setContentType("text/xml;charset=utf-8")

2008年12月01日 14:36
0 0

URIEncoding="GBK" 这个你没做配置的吧?

那可以试试各个编码了.
ISO
GBK
UTF-8;

都试了? 都不行? 呵呵.
呵呵.看来情况麻烦点; 你直接Form提交一个字段或者GET提交一个,看看编码和你后台是否能一致; 这样也许调试能看得出来.

2008年11月19日 08:35
0 0

不是吧? 你的Tomcat没进行过转码吧?

URIEncoding="GBK" 这个你没做配置的吧?

那可以试试各个编码了.
ISO
GBK
UTF-8;

总有可以的吧?

2008年11月18日 18:10
0 0

转码问题啊; 估计你有几个步骤是转过编码的吧?

这个要你自己检查看哪个代码进行过转码了?

你用Tomcat? WLS? 根据ISO,UTF-8都解析一下看看.

2008年11月18日 16:23
0 0

/checkUnique_myStageUser.action
你的Action,添加过滤器了么?

把原始的数据打印出来,看看你是否做过转码了? 只要客户端和服务器端一致; 就说明没其他干扰.也就容易解决了.

js客户端,先Alert提交数据;
然后服务器,Debug下,看看是否一致;

2008年11月18日 15:56
0 0

java.net.URLDecoder.decode(account,"GBK") 这样看看.

2008年11月18日 15:31
0 0

不至于吧? 提交之前,alert一下.看看到底是什么编码? 呵呵.

2008年11月18日 15:04
0 0

escape(charString);

服务器按照GBK解码;

2008年11月18日 14:39
0 0

提交之前,先UTF-8编码;

escape(charString) 试试看;

2008年11月18日 13:59

相关推荐

    jQuery formValidator3.1

    《jQuery formValidator3.1详解》 在Web开发中,数据验证是不可或缺的一环,它确保用户输入的数据符合预设的规则,防止错误的数据进入系统。jQuery formValidator3.1是一个强大的JavaScript库,专为jQuery设计,...

    一款jquery 表单插件还日历插件 formValidator3.1

    **jQuery FormValidator 3.1 插件与日历组件详解** 在Web开发中,表单验证和日期选择是常见的需求。jQuery FormValidator 3.1 是一个强大的表单验证插件,它提供了丰富的验证规则和自定义设置,使得前端数据验证变...

    jQuery formValidator表单验证插件3.1.rar

    在jQuery formValidator 3.1中,你可以期待以下关键知识点: 1. **安装与引入**:首先,你需要将jQuery库和formValidator的js文件引入到HTML页面中,通常放置在`&lt;head&gt;`标签内,确保jQuery在formValidator之前加载...

    jQuery formValidator表单验证插件示例源码

    jQuery formValidator是一款强大的JavaScript表单验证插件,它基于jQuery库,用于在用户提交表单前验证输入数据的正确性和格式。这个插件提供了一系列灵活的验证规则和自定义选项,使得开发者能够轻松地实现复杂的...

    基于jquery框架,采用jQuery formValidator表单验证插件。

    基于jquery框架,采用jQuery formValidator表单验证插件。

    JQuery formvalidator4.1.1(实例+文档).rar

    《JQuery FormValidator 4.1.1:前端验证利器详解》 JQuery FormValidator 4.1.1是一款强大的JavaScript库,专为前端表单验证而设计。它结合了jQuery的强大功能,使得开发者能够轻松地对用户输入的数据进行实时验证...

    jQuery formValidator表单验证

    jQuery formValidator是一款基于jQuery库的高效、灵活的表单验证插件,旨在帮助开发者轻松实现对用户输入数据的实时验证,提高用户体验并确保数据的准确性和完整性。它提供了丰富的验证规则,可以覆盖大部分常见的...

    jQuery formValidator代码生成器

    这是一个包含了formValidator3.1版本的资源文件,其中可能包含以下内容:库文件(如jquery.formValidator.js)、样式表(如formValidator.css)、示例代码、文档等。解压后,开发者可以直接在项目中引用这些文件,...

    jQuery formValidator表单验证插件

    **jQuery formValidator表单验证插件** jQuery formValidator是一款高效且功能丰富的JavaScript验证插件,专为基于jQuery的Web应用程序设计。它简化了表单验证的过程,提供了多种预定义的验证规则,以及自定义验证...

    jQuery formValidator表单验证插件示例源码.rar

    jQuery formValidator是一款强大的JavaScript表单验证插件,它基于jQuery库构建,旨在简化网页表单的数据验证过程,提供用户友好的交互体验。该插件通过自定义规则和错误消息,可以轻松实现各种复杂的验证需求,使得...

    jquery formValidator

    `jQuery FormValidator`是一款基于jQuery库的前端表单验证插件,它为开发者提供了一种简单而强大的方式来实现表单验证。这个插件在Web开发领域中颇受欢迎,因为它可以方便地添加验证规则,避免用户提交无效或不完整...

    jQuery formValidator表单验证插件实例(php)

    jQuery formValidator是一款基于jQuery的轻量级表单验证插件,其主要特点是易于使用、灵活性高和丰富的验证规则。它通过CSS类和JavaScript事件来实现表单元素的验证,支持多种验证模式,包括实时验证、提交时验证等...

    jQuery formValidator表单验证插件3.5a版本发布,适合jQuery1.3.2类库

    jQuery formValidator是一款强大的JavaScript表单验证插件,它与jQuery 1.3.2库兼容,使得在网页中实现高效且美观的表单验证变得轻而易举。这个3.5a版本的发布旨在提供更加稳定和功能丰富的验证解决方案,以满足...

    jQuery formValidator高级表单验证

    jQuery formValidator是一款强大的前端验证插件,它可以帮助开发者实现复杂的表单验证功能,轻松处理前端输入数据的状态判断。本文将深入探讨jQuery formValidator的核心概念、使用方法以及高级特性。 **jQuery ...

    jquery formvalidator公共验证

    **jQuery FormValidator 公共验证框架详解** 在Web开发中,数据验证是不可或缺的一部分,它确保用户输入的数据符合预设的规则,从而提高应用程序的安全性和用户体验。jQuery FormValidator是一款强大的验证框架,它...

    jQuery formValidator表单验证插件4.1.2,可换肤,可密码强度校验

    jQuery formValidator表单验证插件4.1.1功能说明, 1、支持换肤(目前自带4套皮肤,其中包括58网、网易邮箱注册两套皮肤,当前演示的是网易126的皮肤) 2、支持密码强度校验 3、支持固定提示层 4、支持输入框内值...

    jQuery formValidator3.3表单验证文档说明

    ### jQuery formValidator 3.3 表单验证插件详细解析 #### 一、概述 jQuery formValidator 3.3 是一款基于 jQuery 的强大表单验证插件,它旨在简化前端表单验证的过程,实现 JavaScript 脚本与 HTML 页面代码的...

    jquery验证框架_formValidator3.3

    **jQuery FormValidator 3.3:打造高效便捷的表单验证体验** `jQuery FormValidator 3.3` 是一个强大的JavaScript验证框架,专为简化和增强网页中的表单验证而设计。它基于流行的jQuery库,提供了丰富的功能和高度...

    商业编程-源码-jQuery formValidator表单验证插件示例源码.zip

    《jQuery formValidator表单验证插件深度解析及应用实践》 在Web开发中,表单验证是不可或缺的一环,它确保用户输入的数据符合预设的规则,从而避免因无效数据导致的问题。jQuery formValidator插件是一款强大的...

Global site tag (gtag.js) - Google Analytics