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

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

coldplay.xixi
coldplay.xixiオリジナル
2020-07-11 09:59:112975ブラウズ

PHP は、curl post に基づいて、中国語の文字化けした URL を送信するための解決策を実装しています。最初に 2 か所でエンコードを確認し、エンコードが同じであれば、直接送信できます。curl を使用する場合、文字セットを設定するにはヘッダーを追加する必要があります。コードは [ $this_header = array] です。

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

PHP は、curl post に基づいて、中国語の文字化けした URL を送信するためのソリューションを実装します。指定したURLを送信しましたが、中国語は常に文字化けします。指定したURLはutf8エンコードされており、送信したものもutf8エンコードされています。最初は file_get_contents

を使用し、次に

curl に変更して php.ini の php_curl を開きましたが、やはり文字化けしませんでした。動作するので、 ヘッダー を追加しました。最終的には解決されました。コードは次のとおりです:

$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 を使用するときにヘッダー設定 charset

を追加する必要があります。最後に、さらに確認して、さらに試してください。1 つの方法が機能しない場合は、別の方法を試してください。ダメなら最初から考え直せば必ず解決します。

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

PHP プログラミングの入門から熟練度まで

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

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