萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 解決php接收shell返回的結果中文亂碼問題

解決php接收shell返回的結果中文亂碼問題

 shell輸出的有中文,則php得到的中文返回結果為亂碼,下面有個不錯的解決方法,大家可以參考下

如果需要php執行一些shell命令,查看顯示結果的話,如果shell輸出的有中文,則php得到的中文返回結果可能類似是 “?230?180?187?229?138?168” 的字符串。那麼需要這個函數轉譯:   代碼如下: //這個函數接收的都是路徑,所以判斷了文件擴展名  function shell2txt($a){  $ary = explode('/', $a);  foreach($ary as $k => $v){  if(strpos($v, '?') !== false){  $_ary = explode('?', $v);    foreach($_ary as $_k=>$_v){  if($_v == '') continue;  //判斷是否有文件擴展名  $end = '';  if(strpos($_v, '.') !== false){  $end = substr($_v, strpos($_v, '.'));  }  $_ary[$_k] = dechex($_v).$end;  }    $ary[$k] = implode('%', $_ary);  }  }    $a = implode('/', $ary);  return urldecode($a);  }   
copyright © 萬盛學電腦網 all rights reserved