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


Posted in PHP onJanuary 23, 2014

如果需要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 相关文章推荐
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
php循环语句 for()与foreach()用法区别介绍
Sep 05 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
Dec 25 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
php远程下载类分享
Apr 13 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 PHP
php进程间通讯实例分析
Jul 11 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
php弹出对话框实现重定向代码
Jan 23 #PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
Jan 22 #PHP
简单的php缓存类分享     php缓存机制
Jan 22 #PHP
一组PHP可逆加密解密算法实例代码
Jan 21 #PHP
discuz加密解密函数使用方法和中文注释
Jan 21 #PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 #PHP
检查用户名是否已在mysql中存在的php写法
Jan 20 #PHP
You might like
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
js实现消息滚动效果
2017/01/18 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
python获取标准北京时间的方法
2015/03/24 Python
Python中设置变量访问权限的方法
2015/04/27 Python
Python实现批量修改文件名实例
2015/07/08 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
用python绘制樱花树
2020/10/09 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
生产部厂长助理职位说明书
2014/03/03 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
大学迎新生标语
2014/10/06 职场文书
2014年材料员工作总结
2014/11/19 职场文书
贷款担保书
2015/01/20 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android
Java死锁的排查
2022/05/11 Java/Android
zabbix配置nginx监控的实现
2022/05/25 Servers
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS