2 月 272016
 

Source: UTF-8編碼中BOM的檢測與刪除

所謂BOM,全稱是Byte Order Mark,它是一個Unicode字符,通常出現在文本的開頭,用來標識字節序(Big/Little Endian),除此以外還可以標識編碼(UTF-8/16/32 ),如果出現在文本中間,則解釋為zero width no-break space注:Unicode相關知識的詳細介紹請參考UTF-8, UTF-16, UTF-32 & BOM。 對於UTF-8/16/32而言,它們名字中的8/16/32指的是編碼單位是多少位的,也就是說,它們的編碼單位分別是8/16/32位,換算成字節就 是1/2/4字節,如果是多字節,就要牽扯到字節序,UTF-8以單字節為編碼單位,所以不存在字節序。UTF-8主要的優點是可以兼容ASCII,但如 果使用BOM的話,這個好處就蕩然無存了,除此以外,BOM的存在還可能引發一些問題,比如下面錯誤便都有可能是BOM導致的:

  • Shell: No such file or directory
  • PHP: Warning: Cannot modify header information – headers already sent

Continue reading »

11 月 132012
 

原文(source): [網絡編程] php curl的幾個例子

使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要運行一個腳本,然後分析一下你所抓取的網 頁,然後就可以以程序的方式得到你想要的數據了。無論是你想從從一個鏈接上取部分數據,或是取一個XML文件並把其導入數據庫,那怕就是簡單的獲取網頁內 容,cURL 是一個功能強大的PHP庫。

Continue reading »