這篇文章主要介紹怎么解決php中exec亂碼問題,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供臨朐網(wǎng)站建設(shè)、臨朐做網(wǎng)站、臨朐網(wǎng)站設(shè)計、臨朐網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、臨朐企業(yè)網(wǎng)站模板建站服務(wù),十年臨朐做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
php exec亂碼的解決辦法:1、執(zhí)行“exec("python cmd.py",$str);”;2、通過“iconv("GBK", "UTF-8", $res);”方式轉(zhuǎn)換編碼即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php 填坑exec或shell_exec無法返回中文亂碼情況
原本想執(zhí)行:
exec("python cmd.py",$str); var_dump($str);
在cmd.py文件輸出中含有中文,結(jié)果顯示的是下圖所示:
很多博主說可以通過設(shè)置預(yù)定編碼然后可以解決,比如先在執(zhí)行命令前添加編碼后執(zhí)行:
$locale='en_US.UTF-8'; setlocale(LC_ALL,$locale); putenv('LC_ALL='.$locale); exec("python cmd.py",$str); var_dump($str);
試了以后發(fā)現(xiàn)問題依然存在,并沒有效果。。后經(jīng)過google良久后終于找到了解決方法,遂不敢獨留,貼出來分享。。
不廢話,直接上。。。
exec: exec("python cmd.py",$str); foreach($str as $res) { $str = iconv("GBK", "UTF-8", $res); } echo $str; shell_exec: $res = shell_exec("python cmd.py"); echo iconv("GBK", "UTF-8", $res);
上面exec和shell_exec返回均可顯示中文!
以上是“怎么解決php中exec亂碼問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!