現在專案基本都是utf-8編碼的,但是有個別**還是gbk編碼的,比如搜狗。採集到的gbk編碼的頁面處理會導致解析不了html內容。
/**
* 內容處理
* 把gbk轉碼為utf-8
* 頭部標識編碼 gbk替換成utf-8(採集的時候頁面轉換成了utf-8編碼,header頭也一定記得替換成utf-8編碼,否則編碼就會有問題)
*/$content = iconv('gbk', "utf-8//ignore", $content);
$content = preg_replace("/gb(k|2312)/i", "utf-8", $content);
function doencoding($str)
return $str;
}
/**
* 轉換gbk編碼為utf8
* @param $html
* @param $curl_info
* @return mixed|string
*/private function do_html_to_utf8($html, $curl_info)
return $html;
}
$content= preg_replace('##' , '' ,$content);
通過後台採集返回頁面資訊需要注意的事項
string url context.request.querystring.tostring 這裡一定要加上http req.method post 根據需要使用具體的方式,預設是get response.contenttype text html charset gb2312 設定mime型別,...
頁面字元編碼不一致的處理
有時候因為工作需要,會處理一些非開發人員處理的頁面,比如美工。就有可能遇到字元編碼不一致的情況。我們的開發環境預設用utf 8,但美工用gb2312。結果他處理過的檔案,有漢字的,都亂碼。如果是css檔案,裡面有漢字,還導致樣式失效,查詢了好久才找到原因。剛開始的時候,不知道在vs.net怎麼設定字...
頁面字元編碼不一致的處理
有時候因為工作需要,會處理一些非開發人員處理的頁面,比如美工。就有可能遇到字元編碼不一致的情況。我們的開發環境預設用utf 8,但美工用gb2312。結果他處理過的檔案,有漢字的,都亂碼。如果是css檔案,裡面有漢字,還導致樣式失效,查詢了好久才找到原因。剛開始的時候,不知道在vs.net怎麼設定字...