標籤:識別 介紹 百度 使用 dedecms 自動 ack 參數 匯出
最近在用dedecms二次開發會員功能;大家都知道dedecms編碼是GBK格式的;所以在我們在項目中經常需要轉碼,在我瞭解中有兩種轉碼方式:一是:iconv;二是mb_convert_encoding;
下面介紹下兩種轉碼方式的用法:
iconv:
iconv(“UTF-8″,”GB2312”,$string);將$string由utf-8編碼轉化為GBK格式
第一個參數:現在字串的編碼格式;
第二個參數:想要轉化的編碼格式;
第三個參數:想要轉化的字串;
mb_convert_encoding:
mb_convert_encoding($string, “UTF-8″, “GBK”);將$string由GBK轉化為utf-8格式
{1.需要先enable mbstring 擴充庫
2.mb_convert_encoding 可以指定多種輸入編碼,它會根據內容自動識別,但是執行效率比iconv差太多
}
第一個參數:想要轉化的字串;
第二個參數:想要轉化的編碼格式;
第三個參數:現在字串的編碼格式;
iconv 和 mb_convert_encoding 兩個轉碼函數的區別:
其實我用刀這個轉碼函數主要是在會員資訊匯出excel格式時,當時我添加會員的時候轉碼存入資料庫用的是iconv,但是在我匯出excel時,我用iconv時,匯出部分資訊可能出現空白的,這樣就算是一個bug,但是用mb_convert_encoding時則不會出現這樣的情況,於是我想弄清楚這兩個函數到底有什麼區別我就去百度看了一下;
這是我在百度裡面搜到是這樣說的:
發現iconv在轉換字元”—”到gb2312時會出錯,如果沒有ignore參數,所有該字元後面的字串都無法被儲存。不管怎麼樣,這個”—”都無法轉換成功,無法輸出。 另外mb_convert_encoding沒有這個bug.
一般情況下用 iconv,只有當遇到無法確定原編碼是何種編碼,或者iconv轉化後無法正常顯示時才用mb_convert_encoding 函數.
所以大家在使用的時候要注意到自己想要轉換換的編碼格式具體是哪種,這樣你才知道哪種是更好用的呀!
php--轉碼函數