您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關PHP基于curl post實現發送url中文亂碼怎么解決,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
PHP基于curl post實現發送url中文亂碼的解決辦法:首先確認網址編碼;然后使用curl需要加header設置charset,代碼為【$this_header = array(“charset=UTF-8”)】。
PHP基于curl post實現發送url中文亂碼的解決辦法:
發送的指定網址的url參數,中文總是亂碼,指定網址是utf8編碼的,我發送的也是utf8編碼的。但是還是亂碼,開始用的file_get_contents,后來換成curl并在php.ini中開啟了php_curl,還是不行,又加了header
終于解決。代碼如下:
$url = 'http://'; //調用接口的平臺服務地址 $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);
總結:解決此類編碼問題,首先,要確認兩個地方的編碼是什么,其次,如果編碼相同那么可以直接發送,使用curl需要加header設置charset,最后,多查多試,一種方法不行再換另一個試試,如果都不行,那么就從頭再考慮一遍問題,總能解決的。
以上就是PHP基于curl post實現發送url中文亂碼怎么解決,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。