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

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函数转码的数据)