本文實例講述了PHP基于curl post實現(xiàn)發(fā)送url及相關(guān)中文亂碼問題解決方法。分享給大家供大家參考,具體如下:
這個問題困擾我?guī)滋炝?,發(fā)送的指定網(wǎng)址的url參數(shù),中文總是亂碼,指定網(wǎng)址是utf8編碼的,我發(fā)送的也是utf8編碼的。但是還是亂碼,開始用的file_get_contents,后來換成curl并在php.ini中開啟了php_curl,還是不行,又加了header終于解決。代碼如下:
$url = 'http://'; //調(diào)用接口的平臺服務(wù)地址 $post_string = array('a'=>'b'); $ch = curl_init(); $this_header = array( "content-type: application/x-www-form-urlencoded; charset=UTF-8" ); curl_setopt($ch,CURLOPT_HTTPHEADER,$this_header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $result = curl_exec($ch); if($result) echo "script>\nalert(\"同步成功! \");\n/script>"; curl_close($ch);
總結(jié):解決此類編碼問題,首先,要確認(rèn)兩個地方的編碼是什么,其次,如果編碼相同那么可以直接發(fā)送,使用curl需要加header設(shè)置charset,最后,多查多試,一種方法不行再換另一個試試,如果都不行,那么就從頭再考慮一遍問題,總能解決的。
PS:這里將content-type設(shè)置為:application/x-www-form-urlencoded;
本站前面一篇https://www.jb51.net/article/129039.htm針對content-type的原理與設(shè)置方法做了較為詳盡的說明,有助于讀者進(jìn)一步加深理解。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php curl用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
標(biāo)簽:十堰 南寧 樂山 佛山 迪慶 海南 六安 定西
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP基于curl post實現(xiàn)發(fā)送url及相關(guān)中文亂碼問題解決方法》,本文關(guān)鍵詞 PHP,基于,curl,post,實現(xiàn),發(fā)送,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。