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