編碼轉換 mb_convert_encoding 和 iconv 的區別
阿新 • • 發佈:2021-07-02
mb_convert_encoding的用法:
http://cn.php.net/manual/zh/function.mb-convert-encoding.php
iconv的用法:
https://www.php.net/manual/zh/function.iconv.php
例子:GBK轉utf8
mb_convert_encoding("別來無恙", "UTF-8", "GBK");
編碼後的string。 成功時返回編碼後的string或array, 或者在失敗時返回false
。
iconv('GBK','UTF-8','別來無恙');
返回轉換後的字串, 或者在失敗時返回false
。
區別:
1. 要使用mb_convert_encoding需要安裝但是需要先enable mbstring 擴充套件庫。
2.mb_convert_encoding可以不指定第二個引數from_encoding,不指定預設使用內部編碼
3.iconv第二個引數,除了可以指定要轉化到的編碼以外,還可以增加兩個字尾://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字元變成一個或多個近似的字元,//IGNORE 會忽略掉不能轉化的字元,而預設效果是從第一個非法字元截斷。
iconv效率更高,當遇到無法確定原編碼是何種編碼,或者iconv轉化後無法正常顯示時才用mb_convert_encoding 函式