您现在的位置:首页 >> Web开发 >> Jsp技术 >> 内容

jsp中Ajax乱码解决方法

时间:2014-8-21 8:39:30

  核心提示:相信java开发人员在编程过程中都遇到过乱码问题,今天小编就把自己在开发过程中Jsp的Ajax传参乱码进行分享,AJAX传递中文字符串时必须把中文字符串编码成unicode,一般会用到JS的自带函数e...

   相信java开发人员在编程过程中都遇到过乱码问题,今天小编就把自己在开发过程中Jsp的Ajax传参乱码进行分享,AJAX传递中文字符串时必须把中文字符串编码成unicode,一般会用到JS的自带函数escape().不过找到了更好的函数来确决中文字符转换成unicode编码的函数
 
function uniencode(text)  
{  
    text = escape(text.toString()).replace(/\+/g, "%2B");  
    var matches = text.match(/(%([0-9A-F]{2}))/gi);  
    if (matches)  
    {  
        for (var matchid = 0; matchid < matches.length; matchid++)  
        {  
            var code = matches[matchid].substring(1,3);  
            if (parseInt(code, 16) >= 128)  
            {  
                text = text.replace(matches[matchid], '%u00' + code);  
            }  
        }  
    }  
    text = text.replace('%25', '%u0025');  
   
    return text;  
}
 
当然服务器端要对编码过的字符串进行第二次转码.把字符串转换成UTF-8编码.
 
function convert_int_to_utf8($intval)  
{  
    $intvalintval = intval($intval);  
    switch ($intval)  
    {  
        // 1 byte, 7 bits  
        case 0:  
            return chr(0);  
        case ($intval & 0x7F):  
            return chr($intval);  
   
        // 2 bytes, 11 bits  
        case ($intval & 0x7FF):  
            return chr(0xC0 | (($intval >> 6) & 0x1F)) .  
                chr(0x80 | ($intval & 0x3F));  
   
        // 3 bytes, 16 bits  
        case ($intval & 0xFFFF):  
            return chr(0xE0 | (($intval >> 12) & 0x0F)) .  
                chr(0x80 | (($intval >> 6) & 0x3F)) .  
                chr (0x80 | ($intval & 0x3F));  
   
        // 4 bytes, 21 bits  
        case ($intval & 0x1FFFFF):  
            return chr(0xF0 | ($intval >> 18)) .  
                chr(0x80 | (($intval >> 12) & 0x3F)) .  
                chr(0x80 | (($intval >> 6) & 0x3F)) .  
                chr(0x80 | ($intval & 0x3F));  
    }  
}

作者:java小助手 来源:好好生活网
    你是从哪里知道本网站的?
  • 网友介绍的
  • 百度搜索的
  • Google搜索的
  • 其它搜索过来的
  • 网址输错了进来的
  • 太忙了不记得了
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • java学习网(www.javalearns.com) © 2014 版权所有 All Rights Reserved.
  • Email:javalearns@163.com 站长QQ:1356121699 晋ICP备14003680号-3
  • java学习网部分内容来自网络或网友发布,如侵犯了您利益,请发邮件至:javalearns@126.com,我们尽快处理!
  • Java学习网
  • 网站统计
  • 晋公网安备 14042902000001号