jquery中文乱码怎么办


本文摘自PHP中文网,作者coldplay.xixi,侵删。

jquery中文乱码的解决办法:1、将项目的编码统一设置为【UTF-8】,将数据交互时的编码都统一为【UTF-8】;2、如果项目的编码已经统一设置为GBK或GB2312,则在ajax调用向服务端传递中文参数时容易出现中文乱码。

推荐:《jquery视频教程》

jquery中文乱码的解决办法:

方法1,将项目的编码统一设置为UTF-8. 将数据交互时的编码都统一为"UTF-8";

方法2,如果项目的编码已经统一设置为GBK或GB2312,则在ajax调用向服务端传递中文参数时容易出现中文乱码,这时的处理方式如下:

后台:

代码示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

/* =============禁止缓存============== */

response.setHeader("Pragma", "no-cache");

response.setHeader("Cache-Control", "no-cache");

response.setHeader("Expires", "0");

/* =============禁止缓存============== */

response.setContentType("text/html;charset=UTF-8");

response.setCharacterEncoding("UTF-8");

//request.setCharacterEncoding("UTF-8");

String userName = request.getParameter("userName");

userName=URLDecoder.decode(userName, "UTF-8");

              

              //在springmvc中,如没有通过request,或直接设置jquery的编码设置,则需要如下方式转换。

     // mykeyword = new String(keyword.getBytes("iso-8859-1"),"UTF-8");

              //但如果是encodeURI()函数转换,则如下就可以。注意,这时参数在 url后面。

              userName=URLDecoder.decode(userName, "UTF-8");

前台如:

代码示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

var myurl="grzx/validateUserNameIsExists.do?userName="+username;

myurl=encodeURI(myurl);

myurl=encodeURI(myurl);

jQuery.ajax({

url:myurl,

type:'POST',

async:false,

data:{},

success:function(data){

    var msg=eval('('+data+')');

  //  var msg=JSON.parse(data);

      if(!msg.result){

    jQuery('#myusername').attr('value','');

         alert('用户名已存在!请用新的用户名');

      }

    }

   });

进行两次编码。

在前台传递的“哈哈大笑”,在后台编码前为:“%E5%93%88%E5%93%88%E5%A4%A7%E7%AC%91”;就算成功了。

当然,只编码一次也是可以的,将jquery的编码设置为"UTF-8"; 加上;charset='UTF-8'就好了。

例如:

代码示例:

1

contentType : 'application/json;charset=UTF-8',

相关免费学习推荐:JavaScript(视频)

以上就是jquery中文乱码怎么办的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

解决jquery中文乱码问题的方法

jquery中文乱码怎么办

更多相关阅读请进入《jquery中文乱码》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...