当前位置:主页 > php教程 >

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

发布:2022-06-28 08:51:14 93


本站精选了一篇php相关的编程文章,网友越孤丝根据主题投稿了本篇教程内容,涉及到php、escapeshellarg、中文、过滤、解决方法相关内容,已被326网友关注,涉猎到的知识点内容可以在下方电子书获得。

本文分析了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解决DOM乱码的实例方法

    发布:2020-06-18

    最近在工作的时候遇到一个问题,在使用DOM的时候,发现了乱码的问题,后来通过查找网上的资料终于解决了,现在将解决的方法分享给大家,感兴趣的朋友们可以参考借鉴,有需要的朋友们下


  • php给图片添加水印实例代码

    发布:2019-10-30

    这篇文章主要为大家分享了一段php图片添加水印例子,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • php中eval函数禁用方法

    发布:2020-03-11

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险并经常会出现一些问题,今天我们就一起来看看eval函数对数组的操作及php 如何禁用eval() 函数,需要的朋友可以参考下


  • ThinkPHP实现图片按比例切割的具体方法和代码

    发布:2019-11-09

    今天小编就为大家分享一篇关于ThinkPHP中图片按比例切割的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


  • 示例分享php通过两层过滤获取留言内容的方法

    发布:2020-02-12

    这篇文章主要介绍了php通过两层过滤获取留言内容的方法,涉及php正则匹配及数组与字符串的相关操作技巧,需要的朋友可以参考下


  • ThinkPHP 模板substr的截取字符串函数实例讲解

    发布:2020-02-04

    这篇文章主要介绍了ThinkPHP 模板substr的截取字符串函数详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。


  • PHP中使用mpdf导出PDF文件以及生成PDF的方法

    发布:2019-05-30

    PHP中使用mpdf 导出PDF文件的实现方法 mPDF是一个很强大的PDF生成库,能基本兼容HTML标签和CSS3样式,这篇文章通过实例代码给大家介绍PHP中使用mpdf 导出PDF文件的实现方法。 具体代码如下所示: /** * PHP 使用 mpdf 导出PDF文件 * @param $content string PDF文件内容 若为html代码,css内容分离 非id,class选择器可能失效,解决办法直接写进标签style中 * @param $filename string 保存文件名 *


  • PHP中strtr与str_replace函数运行性能测试方法

    发布:2021-05-30

    这篇文章主要介绍了PHP中strtr与str_replace函数运行性能简单测试,结合具体实例形式对比分析了PHP中strtr与str_replace函数的测试运行效率,需要的朋友可以参考下


网友讨论