1. 程式人生 > 其它 >編碼轉換 mb_convert_encoding 和 iconv 的區別

編碼轉換 mb_convert_encoding 和 iconv 的區別

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 函式