欧美国产另类久热|951超碰伊人久久|伊人影视久久久久|色婷婷亚洲小电影|色东京热69XX|婷婷玖玖深爱网|加勒比东京热网站|无码A级毛片在线观看|一级a毛一级a看|中文字幕人妻欧美

php使用escapeshellarg時中文被過濾的解決方法
來源:易賢網(wǎng) 閱讀:1229 次 日期:2016-08-16 14:46:44
溫馨提示:易賢網(wǎng)小編為您整理了“php使用escapeshellarg時中文被過濾的解決方法”,方便廣大網(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è)計有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:php使用escapeshellarg時中文被過濾的解決方法
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權(quán)所有:易賢網(wǎng)