本文主要和大家分享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 $strict = false ]] )
檢測字串 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() ] )
將 string 類型 str 的字元編碼從可選的 from_encoding 轉換到 to_encoding。
參數
str
要編碼的 string。
to_encoding
str 要轉換成的編碼類別型。
from_encoding
在轉換前通過字元代碼名稱來指定。它可以是一個 array 也可以是逗號分隔的枚舉列表。 如果沒有提供 from_encoding,則會使用內部(internal)編碼。
參見支援的編碼。
傳回值
編碼後的 string。
相關推薦:
PHP檢測當前字元編碼並轉碼