php中get方法的加号处理

1、网上搜的方法如下:

 
  
  1. 用 get 方法 , 参数里有 “+” 时,要做处理,否则到后台会变成空格 
  2.  
  3. 解决方案: 
  4.  
  5. 1 、改用 post 方法 ,ok 
  6.  
  7. 2 、在 js 里用 url = encodeURI(encodeURI(XXX)) 
  8.  
  9. 3 、将参数里的加号进行转换 datadata = data.replace(/\+/g, “%2B”); 
  10.  
  11. (2,3步可以合为一步 encodeURIComponent(encodeURIComponent(xxxx)) ) 
  12.  
  13. 4、 PHP接受使用 rawurldecode后台再解码一次, ok 

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

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

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

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