php 接收 shell 返回的结果后,中文乱码的解决办法_PHP教程
程序员文章站
2022-04-30 11:39:35
...
如果需要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); }
推荐阅读
-
解决php接收shell返回的结果中文乱码问题
-
解决php接收shell返回的结果中文乱码问题
-
php插入中文到sqlserver 2008里出现乱码的解决办法分享_PHP教程
-
真的出鬼了!PHP接收网址中的中文参数,永远乱码!解决办法
-
PHP截取中文字符出现乱码的具体解决办法_PHP教程
-
使用php 5时MySQL返回乱码的解决办法_PHP教程
-
php history.back返回后表单数据丢失的解决办法,history.back_PHP教程
-
解决php接收shell返回的结果中文乱码问题
-
解决php接收shell返回的结果中文乱码问题_PHP
-
PHP json_encode中文乱码问题的解决办法_PHP教程