php使用escapeshellarg时中文被过滤的解决方法


Posted in PHP onJuly 10, 2016

本文分析了php使用escapeshellarg时中文被过滤的解决方法。分享给大家供大家参考。具体如下:

一、问题:

同样的代码,发现通过 localhost/index.php 访问,和在 shell 中通过 php ./index.php 运行?果却不一样。

在程序中需要通过 shell_exec 来执行一个 linux 程序,而它的输入来自 echo ,即:

shell_exec('echo '.escapeshellarg($str).' | some_cmd 2>&1');

二、解决方法:

而这个 $str 中可能包含中文的。一开始我还以为是 some_cmd 自己把中文滤掉,后来发现是 escapeshellarg 的问题。
貌似出现这个问题的不多,经过查询与测试发现原来是 shell 和 apache php-cgi 的运行环境不同引起的。
在 php 中加入:

setlocale(LC_CTYPE, "UTF8", "en_US.UTF-8");

就正常了!

希望本文所述对大家php程序设计有所帮助。

PHP 相关文章推荐
BBS(php & mysql)完整版(五)
Oct 09 PHP
NT IIS下用ODBC连接数据库
Oct 09 PHP
初次接触php抽象工厂模式(Elgg)
Mar 21 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
PHP在线书签系统分享
Jan 04 PHP
php中static和const关键字用法分析
Dec 07 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
laravel 中某一字段自增、自减的例子
Oct 11 PHP
PHP超全局变量实现原理及代码解析
Sep 01 PHP
[原创]smarty简单模板变量输出方法
Jul 09 #PHP
[原创]php简单防盗链验证实现方法
Jul 09 #PHP
[原创]php简单隔行变色功能实现代码
Jul 09 #PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 #PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 #PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 #PHP
PHP编程之设置apache虚拟目录
Jul 08 #PHP
You might like
解析php php_openssl.dll的作用
2013/07/01 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
微信小程序如何获取手机验证码
2018/11/04 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
NestJs 静态目录配置详解
2019/03/12 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
一个超级简单的python web程序
2014/09/11 Python
python正则表达式re之compile函数解析
2017/10/25 Python
使用Python来开发微信功能
2018/06/13 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
python频繁写入文件时提速的方法
2019/06/26 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
个人生活学习自我评价范文
2013/11/26 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
音乐会主持人开场白
2015/05/28 职场文书