在用AJAX与后台交互时经常要对中文进行编码解码,对于JS来说有两个函数:encodeURIComponent用于编码,decodeURIComponent用于解码。而对于后台的PHP来说有两个相对应的编码解码函数:urlencode用于编码,urldecode用于解码。现在看下列两段代码,先给个PHP代码:
$myStr1 = '我是中国人';
$myStr2 = urlencode($myStr1);
echo $myStr1 . '<br />';
echo $myStr2 . '<br />';
echo urldecode($myStr2) . '<br />';
上面这段php代码会输出:
我是中国人
%E6%88%91%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA
我是中国人
再来看JS代码:
var myStr1 = '我是中国人';
var myStr2 = encodeURIComponent(myStr1);
document.write(myStr1);
document.write('<br />');
document.write(myStr2);
document.write('<br />');
document.write(decodeURIComponent(myStr2));
上面这段JS代码会输出:
我是中国人 %E6%88%91%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA 我是中国人
和上面PHP代码输出的内容是一样的。