www.adminn.cn
站长正能量分享网!

解决php接收shell返回的结果中文乱码问题

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

shell输出的有中文,则php得到的中文返回结果为乱码,下面有个不错的解决方法,大家可以参考下。

如果需要php执行一些shell命令,查看显示结果的话,如果shell输出的有中文,则php得到的中文返回结果可能类似是 “?\230?\180?\187?\229?\138?\168” 的字符串。那么需要这个函数转译: 

  1. //这个函数接收的都是路径,所以判断了文件扩展名  
  2. function shell2txt($a){  
  3. $ary = explode('/'$a);  
  4. foreach($ary as $k => $v){  
  5. if(strpos($v'?\\') !== false){  
  6. $_ary = explode('?\\'$v);  
  7.  
  8. foreach($_ary as $_k=>$_v){  
  9. if($_v == ''continue;  
  10. //判断是否有文件扩展名  
  11. $end = '';  
  12. if(strpos($_v'.') !== false){  
  13. $end = substr($_vstrpos($_v'.'));  
  14. }  
  15. $_ary[$_k] = dechex($_v).$end;  
  16. //phpfensi.com 
  17.  
  18. $ary[$k] = implode('%'$_ary);  
  19. }  
  20. }  
  21.  
  22. $a = implode('/'$ary);  
  23. return urldecode($a);  
  24. }

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《解决php接收shell返回的结果中文乱码问题》
文章链接:https://www.adminn.cn/news/8528.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏