美文网首页网页开发专刊
ajax提交数据乱码或php后端来解码获取前端js的escape

ajax提交数据乱码或php后端来解码获取前端js的escape

作者: 老牛圣斗士 | 来源:发表于2016-08-15 21:23 被阅读34次

    1、js通过escape函数转码的公式如下:

    var txt=escape(content);  //content就是要转码的文本

    2、php后端进行解码,把js 前端的转码数据解析为正常的文本。

    public function unescape($str)

    {

    $ret = '';

    $len = strlen($str);

    for ($i = 0; $i < $len; $i ++)

    {

    if ($str[$i] == '%' && $str[$i + 1] == 'u')

    {

    $val = hexdec(substr($str, $i + 2, 4));

    if ($val < 0x7f)

    $ret .= chr($val);

    else

    if ($val < 0x800)

    $ret .= chr(0xc0 | ($val >> 6)) .

    chr(0x80 | ($val & 0x3f));

    else

    $ret .= chr(0xe0 | ($val >> 12)) .

    chr(0x80 | (($val >> 6) & 0x3f)) .

    chr(0x80 | ($val & 0x3f));

    $i += 5;

    } else

    if ($str[$i] == '%')

    {

    $ret .= urldecode(substr($str, $i, 3));

    $i += 2;

    } else

    $ret .= $str[$i];

    }

    return $ret;

    }

    上面的方法直接复制到php的类中即可直接调用。

    相关文章

      网友评论

        本文标题:ajax提交数据乱码或php后端来解码获取前端js的escape

        本文链接:https://www.haomeiwen.com/subject/brausttx.html