これは暗闇の中のショットであり、この質問が狂人のとりとめのないように聞こえる場合は、事前にお詫び申し上げます.
サード パーティとの統合の一環として、C# を使用して一部の文字列情報を UTF8 エンコードする必要があるため、マルチパート フォーム経由でターゲット サーバーに送信できます。問題は、おそらく私が内容を正しくエンコードしていないために、彼らが私の投稿の一部を拒否していることです。
現在、ダッシュまたはハイフンがどのように受信され、ターゲット サーバーによってどのように解釈されるかを理解しようとしてい?~@~S
ます。ブラウザの不具合ではありません)。Encoding.UTF8.GetBytes()
残念ながら、バイト配列を使用して問題がどこにあるのかを特定する方法を十分に理解していません。
誰かがヒントやアドバイスを提供できる場合は、それをいただければ幸いです。これまでのところ、私の唯一の友人は MSDN であり、MSDN の友人はほとんどいません。
更新 1 : さらに掘り下げた後System.Web.HttpUtility.UrlEncode()
、EM DASH 文字 ("—") をエンコードするために使用すると、"%e2%80%94" に 16 進エンコードされることがわかりました。
HttpWebRequest
現在、この情報を「application/x-www-form-urlencoded」というコンテンツ タイプの投稿で送信しています。これが問題の原因でしょうか? もしそうなら、値に Unicode 文字が含まれている可能性のある一連の名前と値のペアをエンコードして、UTF-8 要求を期待しているサーバーが理解できるようにする適切な方法は何ですか?