PHP中iconv函數來轉換編碼,如UTF-8轉GB2312

來源:互聯網
上載者:User
這篇文章介紹的內容是關於PHP中iconv函數來轉換編碼,如UTF-8轉GB2312,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

最近在做建行介面的時候發現必須 將編碼UTF-8轉換成GB2312 所以才採用這個iconv函數來轉換編碼。

發現只有用iconv函數把抓取過來的資料一轉碼資料就會無緣無故的少一些。 讓我鬱悶了好一會兒,去網上一查資料才知道這是iconv函數的一個bug。iconv在轉換字元”—”到gb2312時會出錯。

下面慢慢看一下這個函數的用法。

最簡單的應用,把gb2312置換成utf-8:


$zhuan=iconv("UTF-8","GB2312",$data);



在使用過程中,如果遇到一些特別字元時,如:”—”,英文名中的”.”等等字元,轉換就斷掉了。這些字元後的文字都沒法繼續轉換了。



針對這的問題,可以用如下代碼實現:


$zhuan=iconv("UTF-8","GBK",$data);

你沒有看錯,就這麼簡單,不使用gb2312,而寫成GBK,就可以了。

還有一種方法,第二個參數,加上//IGNORE,忽略錯誤,如下:


$zhuan=iconv("UTF-8","GB2312//IGNORE",$data);

沒有具體比較這兩種方法,感覺第一種(GBK代替gb2312)方法更好。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.