iconvvsmb_convert_encoding

flowerszhong發表於2015-06-03

iconv

字串按要求的字元編碼來轉換
string iconv ( string $in_charset , string $out_charset , string $str )
將字串 str 從 in_charset 轉換編碼到 out_charset。

mb_convert_encoding

轉換字元的編碼
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
將 string 型別 str 的字元編碼從可選的 from_encoding 轉換到 to_encoding。

兩者區別

  • 引數的順序是相反的
  • iconv php自帶方法
  • iconv 除了可以指定要轉化到的編碼以外,還可以增加兩個字尾://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字元變成一個或多個近似的字元,//IGNORE 會忽略掉不能轉化的字元,而預設效果是從第一個非法字元截斷。
  • 需要先enable mbstring 擴充套件庫,在 php.ini裡將; extension=php_mbstring.dll 前面的 ; 去掉
  • mb_convert_encoding 可以指定多種輸入編碼,它會根據內容自動識別,但是執行效率比iconv差太多
  • mb_convert_encoding 可以處理HTML實體符號

參考資料