1. 云栖社区>
  2. PHP教程>
  3. 正文

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

作者:用户 来源:互联网 时间:2017-12-01 14:43:56

中文

解决php接收shell返回的结果中文乱码问题 - 摘要: 本文讲的是解决php接收shell返回的结果中文乱码问题,  shell输出的有中文,则php得到的中文返回结果为乱码,下面有个不错的解决方法,大家可以参考下如果需要php执行一些shell命令,查看显示结果的话,如果shell输出的有中文,则php得到的中文返回结果可能类似是 “?230?180

 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); }  

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索中文 ,以便于您获取更多的相关知识。