本文主要和大家分享PHP實作偵測目前字元編碼並轉碼的方法,結合文字和程式碼,希望能幫助大家。
一、偵測目前字串編碼並將編碼改為utf-8
1 取得目前字串的編碼
$encode = mb_detect_encoding($str, array("ASCII",'UTF -8',"GB2312","GBK",'BIG5'));
2 將字元編碼改為utf-8
$str_encode = mb_convert_encoding($str, 'UTF-8', $encode) ;
二、函數詳解
1 mb_detect_encoding — 偵測字元的編碼
說明
string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $.trics]
偵測字串str 的編碼。
參數
str
待檢查的字串。
encoding_list
encoding_list 是一個字元編碼清單。 編碼順序可以由數組或逗號分隔的列表字串指定。
如果省略了 encoding_list 將會使用 detect_order。
strict
strict 指定了是否嚴格地偵測編碼。 預設是 FALSE。
傳回值
偵測到的字元編碼,或無法偵測指定字串的編碼時傳回 FALSE。
2 mb_convert_encoding — 轉換字元的編碼
說明
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )#stridd選的from_encoding 轉換到to_encoding。
參數
str
要編碼的 string。
to_encoding
str 要轉換成的編碼型別。
from_encoding
在轉換前透過字元代碼名稱來指定。它可以是一個 array 也可以是逗號分隔的枚舉列表。 如果沒有提供 from_encoding,則會使用內部(internal)編碼。
參見支援的編碼。
傳回值
編碼後的 string。
以上是PHP實作偵測目前字元編碼並轉碼的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!