php中GET方法的加号处理

1、网上搜的方法如下:

用 get 方法 , 参数里有 “+” 时,要做处理,否则到后台会变成空格

解决方案:

1 、改用 post 方法 ,ok

2 、在 js 里用 url = encodeURI(encodeURI(XXX))

3 、将参数里的加号进行转换 datadata = data.replace(/+/g, “%2B”);

(2,3步可以合为一步 encodeURIComponent(encodeURIComponent(xxxx)) )

4、 PHP接受使用 rawurldecode后台再解码一次, ok

2、自己添加一种方法(替换方法),其实没这么麻烦,首先认识下base64的组成:

在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。使用时,在传输编码方式中指定base64。

使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。

所以字符串base64后传输之前可以先把“+”号替换掉,用“_”,“|”等等都可以,然后另一个页面接收的时候再替换过来即可(str_replace)。最后把替换之后的base64再解码。ok