php 解決 escape 編碼後 js 解碼中午輸出亂碼的問題
阿新 • • 發佈:2018-12-31
我們通過 php 進行 escape 編碼 加密我們的文字後 通過js 的unescape 進行解碼,然而 中文出現亂碼,主要是因為 現在網路上所在流傳的 PHP escape 編碼方法存在 一些問題 ,下面的方法是我個人修改後的 ,提供參考
function phpescape($str){//這個是加密用的 preg_match_all("/[\xc2-\xdf][\x80-\xbf]+|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}|[\x01-\x7f]+/e",$str,$newstr); $ar = $newstr[0]; foreach($ar as $k=>$v){ if(ord($ar[$k])>=127){ $tmpString=bin2hex(iconv("utf-8","ucs-2",$v)); if (!eregi("WIN",PHP_OS)){ $tmpString = substr($tmpString,2,2).substr($tmpString,0,2); } $reString.="%u".$tmpString; } else { $reString.= rawurlencode($v); } } return $reString; }