解決php接收shell返回的結(jié)果中文亂碼問題
更新時(shí)間:2014年01月23日 15:52:11 作者:
shell輸出的有中文,則php得到的中文返回結(jié)果為亂碼,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下
如果需要php執(zhí)行一些shell命令,查看顯示結(jié)果的話,如果shell輸出的有中文,則php得到的中文返回結(jié)果可能類似是 “?\230?\180?\187?\229?\138?\168” 的字符串。那么需要這個(gè)函數(shù)轉(zhuǎn)譯:
//這個(gè)函數(shù)接收的都是路徑,所以判斷了文件擴(kuò)展名
function shell2txt($a){
$ary = explode('/', $a);
foreach($ary as $k => $v){
if(strpos($v, '?\\') !== false){
$_ary = explode('?\\', $v);
foreach($_ary as $_k=>$_v){
if($_v == '') continue;
//判斷是否有文件擴(kuò)展名
$end = '';
if(strpos($_v, '.') !== false){
$end = substr($_v, strpos($_v, '.'));
}
$_ary[$_k] = dechex($_v).$end;
}
$ary[$k] = implode('%', $_ary);
}
}
$a = implode('/', $ary);
return urldecode($a);
}
復(fù)制代碼 代碼如下:
//這個(gè)函數(shù)接收的都是路徑,所以判斷了文件擴(kuò)展名
function shell2txt($a){
$ary = explode('/', $a);
foreach($ary as $k => $v){
if(strpos($v, '?\\') !== false){
$_ary = explode('?\\', $v);
foreach($_ary as $_k=>$_v){
if($_v == '') continue;
//判斷是否有文件擴(kuò)展名
$end = '';
if(strpos($_v, '.') !== false){
$end = substr($_v, strpos($_v, '.'));
}
$_ary[$_k] = dechex($_v).$end;
}
$ary[$k] = implode('%', $_ary);
}
}
$a = implode('/', $ary);
return urldecode($a);
}
相關(guān)文章
php array_filter除去數(shù)組中的空字符元素
php array_filter除去數(shù)組中的空字符元素,array_filter() 函數(shù)根據(jù)回調(diào)函數(shù)過濾數(shù)組中的值,省略回調(diào)函數(shù)則默認(rèn)過濾空值,需要的朋友可以參考下。2011-11-11PHP從零開始打造自己的MVC框架之入口文件實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP從零開始打造自己的MVC框架之入口文件實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了php實(shí)現(xiàn)MVC框架入口文件的原理、定義及使用方法,需要的朋友可以參考下2019-06-06php 指定范圍內(nèi)多個(gè)隨機(jī)數(shù)代碼實(shí)例
在php中生成隨機(jī)數(shù)據(jù)我們可以使用rand,mt_rand都可以生成指定范圍內(nèi)隨機(jī)數(shù)據(jù)了,下面給各位同學(xué)介紹一下方法2016-07-07php使用ob_start()實(shí)現(xiàn)圖片存入變量的方法
這篇文章主要介紹了php使用ob_start()實(shí)現(xiàn)圖片存入變量的方法,是對緩存的靈活運(yùn)用,具有既定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11比file_get_contents穩(wěn)定的curl_get_contents分享
相信使用過file_get_contents函數(shù)的朋友都知道,當(dāng)獲取的$url訪問不了時(shí),會導(dǎo)致頁面漫長的等待,甚至還能導(dǎo)致PHP進(jìn)程占用CPU達(dá)100%,因此這個(gè)函數(shù)就誕生了2012-01-01