Delphi 5からC#Webサービスに大きな文字列を送信していますが、私はポンド(£)記号で多くの問題を抱えています。 Delphi側から文字列をURLエンコードします( '%A3'に変換するようです)。 C#Webサービスに到達すると、 ' 'と表示されます。私はStreamReaderを使用してC#側の文字列のエンコーディングを変更しようとしましたが(下図参照)、できることは疑問符(?)に変更することです。デルファイからC#Webサービスへのポンド記号の送信
MemoryStream mr = new MemoryStream(System.Text.Encoding.Default.GetBytes(myString));
StreamReader sr = new StreamReader(mr, System.Text.Encoding.Default);
string s = sr.ReadToEnd();
どのようにして£記号が正しく解釈されるのですか?
助けてください!
(さらに詳細には要求された)
Webサービスのシグネチャは次のとおりです。
[WebMethod]
public string ReadMyString(string PostedString)
デルファイ5のコードは、私たちが長年成功裏に使用してきたサードパーティのコンポーネント/コードを使用しますが、これは初めて私たちはC#に直接話してみました。コードの概要は以下の通りである:私は£記号が正しく「%A3」に変換されていることを確認したこれら二つの線の間
tmp_Str := URLEncode(myBigString);
tmp_Str := WinInetPostData(myURL, tmp_Str);
を。
少し詳細を入力してください。どのように送信していますか? Webサービス操作の署名とは何ですか? ASMXまたはWCF?実際のコードを表示してください。 –
要望に応じて詳細が追加されました。 – JamesW
署名によって、私はメソッドヘッダーを意味します: '[WebMethod] public int Operation(文字列パラメーター)' –