① php中當前文件為GBK或GB2312編碼,怎麼用正則表達式取漢字
if (ereg('/[\u4E00-\u9FA5]/',$str)){
$chn = str_replace('/[^\u4E00-\u9FA5]/','', $str);
}
判斷是否有中文,$chn=過去非中文字元
② PHP文件加了header("content-type="text/html",charset="utf-8")還是為亂碼,怎麼回事
防止php輸出出現亂碼,需要確保資料庫編碼,輸出header編碼,文件編碼都一樣。具體可以從以下幾點入手,1.檢查文件編碼2.檢查插入資料庫的數據是否亂碼,3.檢查資料庫編碼,4.從資料庫讀取出來的數據是否亂碼,5.檢查輸出的數據是否亂碼。
③ php有沒有查看當前的編碼方式的方法
編碼問題是解碼者決定的,數據本身並不指明編碼方式,而是讀數據的解碼者選擇自己的解碼方式
此處,php程序是數據本身,php解釋器是解碼者本身,
php解釋器對php程序的編碼方式並不應人類對php程序的編碼方式理解不同而轉移
因此,理論上不存在獲取當前數據編碼方式的首高梁介面,只要當時的編碼者(譬如人類)顯示指明編碼方式,
解者運碼者(譬如php解釋器)方可獲知
即使在解析以後再人類看來是一片亂碼,PHP認為一切都是正確的.
當然從前端獲取來的字元例外
如果不清楚字元串的編碼格式的話,就可以將這段字元這樣檢查:
$encode=mb_detect_encoding($string,array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′));
echo$encode;
這樣就能知道它是念粗什麼編碼的了。後續操作還可以為其轉碼:
if($encode==「UTF-8″){
$string=iconv("UTF-8″,"GBK",$string);
}
④ php euc-cn什麼編碼
php中用mb_detect_encoding測出來的euc-cn是gb2312編碼:
EUC-CN是GB2312最常用的表示方法。瀏覽器編碼表上的「GB2312」扮激,通常都是指「EUC-CN」表示茄缺罩法。顫鬧