PHP的base64_decode乱码

前几天出现的问题,GET和POST请求中的字符串经过base64_decode之后乱码了,查了一下是PHP的问题,在使用base64_decode解码之前先加一句:

  $encodedData = str_replace(' ','+',$encodedData);
  $decocedData = base64_decode($encodedData);

就好了。

如果字符串过长,还需要先替换再分段解码:

$encoded = str_replace(' ','+',$encoded);
$decoded = ""; 
for ($i=0; $i < ceil(strlen($encoded)/256); $i++) 
   $decoded = $decoded . base64_decode(substr($encoded,$i*256,256)); 

 

你可能感兴趣的:(PHP)