ホームページ  >  記事  >  バックエンド開発  >  PHP がカールポストに基づいて中国語の文字化けした URL の送信を実装している場合はどうすればよいですか?

PHP がカールポストに基づいて中国語の文字化けした URL の送信を実装している場合はどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-08-06 09:45:033805ブラウズ

PHP は、curl post に基づいて、中国語の文字化けした URL を送信するためのソリューションを実装します。最初に URL エンコーディングを確認し、次に、curl を使用してヘッダーを追加して文字セットを設定します。コードは [$this_header = array (" charset=UTF-8")] 。

PHP がカールポストに基づいて中国語の文字化けした URL の送信を実装している場合はどうすればよいですか?

PHP は、curl post に基づいて、中国語の文字化けした URL を送信するためのソリューションを実装します。指定した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);
要約: この種のエンコードの問題を解決するには、まず 2 か所のエンコードが何であるかを確認し、次にエンコードが同じであれば直接送信できます。 Curl を使用する場合は、文字セットを設定するためのヘッダーを追加する必要があります。最後に、さらに確認して、さらに試してください。ある方法がうまくいかなかったら、別の方法を試してください。うまくいかなかったら、問題を最初からもう一度考えてください。 . いつでも解決できます。

関連する学習に関する推奨事項:

php プログラミング
(ビデオ)

以上がPHP がカールポストに基づいて中国語の文字化けした URL の送信を実装している場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。