web-dev-qa-db-ja.com

Wp_remote_postリクエストに文字セットを設定するにはどうすればいいですか?

私はプロジェクトでwp_remote_post()を使っていて、それはとてもうまくいきます。しかし、POSTリクエストを送信する必要があるサーバーはWindows(ISS)サーバーのようです。そのため、この特定のエンドポイントを提供するサードパーティのサービスでは、すべてのPOST要求に Windows-1252 文字エンコーディングが必要です。そうしないと、特殊文字(á、é、û、等)。

私はいくつかの調査をしましたが、行くべき道は文字コードを含むContent-Type HTTPヘッダを設定することであるようです(charset=Windows-1252のように)。コンテンツタイプ(application/x-www-form-urlencoded;charset=Windows-1252など)と共に文字セットを追加しようとしましたが、うまくいかないようです。

wp_remote_post()を使ってHTTP POSTリクエストの文字セットを正しく設定する方法を誰かが知っていますか?

前もって感謝します!

2

適切な文字セットを設定しようと数回試みた後、私は成功しませんでした。それから私は回避策を捜し、私の問題とうまくいったものを見つけました。

上で述べたように文字セットを設定することに加えて、私がしたのは私のPOST本体のすべての文字列をこのphpスニペットで変換することです。

$message = @iconv("UTF-8","Windows-1252//IGNORE",$message);

これはあなたのすべての文字を互換性のあるWindows-1252文字列に変換します。私にとっては、それはうまくいき、すべての特殊文字はISSサーバー上で正しく認識できます。

2