base64decode php乱码的解决办法:1、打开相应的PHP文件;2、修改内容为“$encodedData =str_replace(' ','+',$encodedData);$decocedData = base64_decode($encodedData);”即可。

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

base64decode php乱码怎么解决?

PHP base64_decode 乱码问题解决:

被赶鸭子上架 改php代码 ,base64加密的字符串用工具解密明明是好的

{"code":"10000","info":"取消订单成功"}

在php中用base64_decode 解密却出现了乱码

{"code":"10000","info":"兹­¢:+¨¹cey¢$9b§ȟ

刚开始以为是字符集的问题,后来发现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));


base64decode php乱码怎么解决