php判斷編碼
① php如何判斷一個字元串是不是base64編碼
參考思路:PHP判斷一個字元串是否經過base64編碼,可以通過對該字元串解碼,然後編碼,最後對比兩者是否相等。示例代碼如下:
<?php
header("Content-type:text/html;charset=utf-8;");
$str="Y2hpbmF3aW54cA==";
$re=is_base64($str);
if($re){
echo"該字元串是base64編碼";
}else{
echo"該字元串未經過base64編碼";
}
//判斷字元串是否經過編碼方法
functionis_base64($str){
if($str==base64_encode(base64_decode($str))){
returntrue;
}else{
returnfalse;
}
}
?>
② PHP有沒有判斷一個文件或者一段字元串是什麼編碼的函數
測試:將 text1.txt 保存成 ASCII編碼, text2.txt 保存成 UTF-8 編碼
<?php
function chkCode($string){
$code = array('ASCII', 'GBK', 'UTF-8');
foreach($code as $c){
if( $string === iconv('UTF-8', $c, iconv($c, 'UTF-8', $string))){
return $c;
}
}
return null;
}
$file = 'text1.txt';
echo chkCode(file_get_contents($file)); // 輸出ASCII
echo '<br />';
$file = 'text2.txt';
echo chkCode(file_get_contents($file)); // 輸出UTF-8
echo '<br />';
?>
③ 淺析PHP中的字元串編碼轉換(自動識別原編碼)
本篇文章是對PHP中字元串編碼轉換的實現代碼進行了詳細的分析介紹,需要的朋友參考下
復制代碼
代碼如下:
/**
*
對數據進行編碼轉換
*
@param
array/string
$data
數組
*
@param
string
$output
轉換後的編碼
*/
function
array_iconv($data,$output
=
'utf-8')
{
$encode_arr
=
array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');
$encoded
=
mb_detect_encoding($data,
$encode_arr);//自動判斷編碼
if
(!is_array($data))
{
return
mb_convert_encoding($data,
$output,
$encoded);
}
else
{
foreach
($data
as
$key=>$val)
{
if(is_array($val))
{
$data[$key]
=
array_iconv($val,
$input,
$output);
}
else
{
$data[$key]
=
mb_convert_encoding($data,
$output,
$encoded);
}
}
return
$data;
}
}
④ php fread()是如何識別文件編碼的
PHP7.0以下的版本的文件操作中沒有識別字元編碼。
只是按位元組數據輸出,如果和php源碼文件和輸出的html的字元編碼一致就能正確顯示..
⑤ php如何判斷文件編碼格式的
<?php
$str="白";
/***
也可以從文件讀取內容
$filename = "a.txt";
$handle = fopen($filename, "r");
$str = fread($handle, filesize ($filename));
fclose($handle);
*/
$encode = mb_detect_encoding($str, array("ASCII",'UTF-8','GB2312',"GBK",'BIG5'));
if($encode=="UTF-8"){
echo "is:UTF-8";
}else{
echo "not:UTF-8";
}
?>
⑥ PHP判斷文件編碼(XML文件中帶CDATA)UTF-8判斷成GBK怎麼解決
設置PHP文件編碼: header("Content-type: text/html; charset=utf-8");
如果你要設置成GBK,這樣寫header("Content-type: text/html; charset=GBK");
PHP字元串轉碼:
(1)$encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5')); //獲取字元串編碼格式
(2)$str_encode = mb_convert_encoding($str, 'GBK', $encode);//將字元串轉換成GBK編碼
希望對你有幫助
⑦ php下檢測字元串是否是utf8編碼的代碼
PHP用MBString庫的函數
$e=mb_detect_encoding($text, array('UTF-8', 'GBK'));
switch($e){
case 'UTF-8' : //如果是utf8編碼
break;
case 『GBK』: //如果是gbk編碼
break
}