如果需要php执行一些shell命令,查看显示结果的话,如果shell输出的有中文,则php得到的中文返回结果可能类似是 “?\230)本文来(源gaodai#ma#com搞@@代~&码*网2
搞代gaodaima码
?\180?\187?\229?\138?\168” 的字符串。那么需要这个函数转译:
<BR>//这个函数接收的都是路径,所以判断了文件扩展名 <BR>function shell2txt($a){ <BR>$ary = explode('/', $a); <BR>foreach($ary as $k => $v){ <BR>if(strpos($v, '?\\') !== false){ <BR>$_ary = explode('?\\', $v); <br><br>foreach($_ary as $_k=>$_v){ <BR>if($_v == '') continue; <BR>//判断是否有文件扩展名 <BR>$end = ''; <BR>if(strpos($_v, '.') !== false){ <BR>$end = substr($_v, strpos($_v, '.')); <BR>} <BR>$_ary[$_k] = dechex($_v).$end; <BR>} <br><br>$ary[$k] = implode('%', $_ary); <BR>} <BR>} <br><br>$a = implode('/', $ary); <BR>return urldecode($a); <BR>} <BR>