檢測檔案編碼,轉換檔案編碼

xuanziDy發表於2022-05-24

CP936

微軟的CP936通常被視為等同GBK,連 IANA 也以“CP936”為“GBK”之別名 [1]。事實上比較起來, GBK 定義之字元較 CP936 多出95字(15個非漢字及80個漢字),

mb_detect_encoding — 檢測字元的編碼

 mb_detect_encoding(string $str, mixed $encoding_list = mb_detect_order(), bool $strict = false): string | false

可以用array 或者 逗號分隔的字串 來指定 encoding_list ,否則使用預設的 mb_detect_order()

mb_convert_encoding — 轉換字元的編碼

mb_convert_encoding(array|string $string, string $to_encoding, array|string|null $from_encoding = null): array|string|false

兩者搭配效果更佳

$encode = mb_detect_encoding($file_content, ["UTF-8", "GB2312", "ASCII", "GBK", "BIG5"]);

$file_content = mb_convert_encoding($file_content, 'UTF-8', $encode);
本作品採用《CC 協議》,轉載必須註明作者和本文連結
學過的東西能說出來那是最妙的,能覆盤寫下來那也不錯

相關文章