PHPがcurl postに基づいてURLを送信するときに中国語が文字化けする場合の対処方法

php中世界最好的语言
リリース: 2023-03-18 07:20:02
オリジナル
1900 人が閲覧しました

この問題は、送信される指定された URL の URL パラメーターが常に中国語で文字化けし、指定された 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);
ログイン後にコピー


概要: この種のエンコーディングの問題を解決するには、まず 2 つの場所でエンコーディングが何であるかを確認します。次に、エンコーディングが同じであれば、curl を使用する場合は直接送信できます。最後に、さらに確認して、1 つの方法が機能しない場合は、別の方法を試してください。いつでも最初から問題を検討してください。解決しました。

追記: ここでは content-type が application/x-www-form-urlencoded に設定されています。

推奨読書:

PHP CURL post エラーがフォームポスト データ ソリューションの作成に失敗しました

PHP via CURL POST XMLデータ

CURL POSTデータ量が多すぎてサーバーからの情報を受信できません

以上がPHPがcurl postに基づいてURLを送信するときに中国語が文字化けする場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート