編碼的世界 / 優質文選 / 文明

PHP檢測當前字符編碼並轉碼


2022年7月01日
-   

一、檢測當前字符串編碼並將編碼改為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。

熱門文章