Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP基于curl post发送url其中中文乱码怎么处理

PHP基于curl post发送url其中中文乱码怎么处理

php中世界最好的语言
php中世界最好的语言asal
2017-12-20 16:19:081889semak imbas

这个问题经常会困扰到大家,发送的指定网址的url参数,中文总是乱码,指定网址是utf8编码的,今天就给大家彻底解决这个问题。代码如下。

$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,最后,多查多试,一种方法不行再换另一个试试,如果都不行,那么就从头再考虑一遍问题,总能解决的。

PS:这里将content-type设置为:application/x-www-form-urlencoded;

推荐阅读:

PHP CURL post报错 failed creating formpost data 解决方案

PHP 通过CURL POST XML数据

CURL POST数据量过大,接收不到服务端的信息

Atas ialah kandungan terperinci PHP基于curl post发送url其中中文乱码怎么处理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn