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 相关文章推荐
Snoopy类使用小例子
Apr 15 PHP
利用PHP制作简单的内容采集器的原理分析
Oct 01 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
处理php自动反斜杠的函数代码
Jan 05 PHP
PHP登录环节防止sql注入的方法浅析
Jun 30 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
php 类自动载入的方法
Jun 03 PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
Yii 框架入口脚本示例分析
May 19 PHP
PHP程序守护进程化实现方法详解
Jul 16 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批量上传图片的具体实现方法介绍.
2014/02/26 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
PDO::rollBack讲解
2019/01/29 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
JS实现网页烟花动画效果
2020/03/10 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
Python-嵌套列表list的全面解析
2016/06/08 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python读取各种文件数据方法解析
2018/12/29 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
Python decimal模块使用方法详解
2020/06/08 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
美国家具网站:Cymax
2016/09/17 全球购物
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
写给同事的离职感言
2015/08/04 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers