php解決用base64_decode解密的時候,出現亂碼
有時候用base64_encode加密後,以GET的形式傳到其他頁面,用base64_decode解密的時候,出現亂碼.
遇到這個問題的時候,我就納悶了,為什麼有一些能正確解密,但是有一些卻出現亂碼呢?
後來經過檢查,發現有一些中文字元,用GET形式傳過來的時候,+號會被替換成空格.
為了防止出現亂碼的情況,我做了一步替換,然後再解密,果然,亂碼的問題,不復存在了!
比如你以GET的形式傳過來一個oid變數,那麼解密還原的時候,先用+號替換空格.那麼輸出就正常了.
如下: $oid=base64_decode(str_replace(" ","+",$_GET[oid]));