php--轉碼函數

來源:互聯網
上載者:User

標籤:識別   介紹   百度   使用   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--轉碼函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.