国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php使用escapeshellarg時中文被過濾的解決方法

2024-05-04 23:47:46
字體:
供稿:網(wǎng)友

本文分析了php使用escapeshellarg時中文被過濾的解決方法。分享給大家供大家參考。具體如下:

一、問題:

同樣的代碼,發(fā)現(xiàn)通過 localhost/index.php 訪問,和在 shell 中通過 php ./index.php 運行結(jié)果卻不一樣。

在程序中需要通過 shell_exec 來執(zhí)行一個 linux 程序,而它的輸入來自 echo ,即:

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

二、解決方法:

而這個 $str 中可能包含中文的。一開始我還以為是 some_cmd 自己把中文濾掉,后來發(fā)現(xiàn)是 escapeshellarg 的問題。
貌似出現(xiàn)這個問題的不多,經(jīng)過查詢與測試發(fā)現(xiàn)原來是 shell 和 apache php-cgi 的運行環(huán)境不同引起的。
在 php 中加入:

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

就正常了!

希望本文所述對大家php程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 晴隆县| 电白县| 大竹县| 克什克腾旗| 邓州市| 剑阁县| 丰宁| 平遥县| 普陀区| 家居| 烟台市| 吉水县| 青岛市| 正阳县| 新建县| 四会市| 井陉县| 清徐县| 天水市| 柳林县| 定州市| 梁山县| 图们市| 保山市| 虹口区| 宜州市| 石林| 勃利县| 苍南县| 横峰县| 大竹县| 益阳市| 新营市| 临西县| 怀仁县| 沅陵县| 千阳县| 溧阳市| 阜南县| 开化县| 榆中县|