php中使用iconv函數時需要註意的地方

最近在做一個小偷程序,需要用到iconv函數把抓取來過的utf-8編碼的頁面轉成gb2312,

發現隻有用iconv函數把抓取過來的數據一轉碼數據就會無緣無故的少一些。

讓我鬱悶瞭好一會兒,去網上一查資料才知道這是iconv函數的一個bug。iconv在轉換字符"—"到gb2312時會出錯 phperz.com

解決方法很簡單,就是在需要轉成的編碼後加 "//IGNORE" 也就是iconv函數第二個參數後.如下:

以下為引用的內容:
iconv("UTF-8","GB2312//IGNORE",$data)

ignore的意思是忽略轉換時的錯誤,如果沒有ignore參數,所有該字符後面的字符串都無法被保存。 
 

發佈留言