2011-05-02 67 views
5

我需要通過特殊字符通過webservice。我使用的代碼Url使用法文字符編碼

HttpUtility.UrlEncode( 「法語字符」)

但如果字符串包含一個雙Quots編碼工作不正常

例如:HttpUtility.UrlEncode("é")

它編碼很好。但不能正確解碼

......先謝謝了......

+0

你可以提供一個littl正確的編碼輸出e更多細節?你如何解碼?哪裏,在另一個應用程序?爲什麼你的問題被標記爲「網絡服務」?如果您嘗試調用SOAP Web服務,則應該簡單地生成客戶端代理並直接調用此代理上的相應方法。你不應該手動編碼任何東西。這應該自動完成。 – 2011-05-03 06:41:24

+0

我得到了下面提到的答案。謝謝 – Shebin 2011-05-03 08:25:46

回答

6

法國性格éUrl encoding%E9

時我們使用

HttpUtil ity.UrlEncode( 「E」)

我們得到的輸出%c3%a.

HttpUtility.UrlEncode( 「E」, System.Text.Encoding.GetEncoding( 「ISO-8859-1」 )

給人即%E9

2

我看不出你的問題是什麼。此代碼:

Console.WriteLine(System.Web.HttpUtility.UrlEncode("something enclosed \"in quotes\"")); 

輸出這樣的結果:

something+enclosed+%22in+quotes%22 

只是因爲它應該,沒有\字符。那究竟是什麼問題呢?

+0

但我在編碼法國字符時遇到了一些問題,例如é。它編碼但沒有正確解碼。 – Shebin 2011-05-03 04:44:38

+0

抱歉沒有正確發佈問題 – Shebin 2011-05-03 04:47:15

-2

它編碼的罰款,嘗試:

HttpUtility.UrlDecode(HttpUtility.UrlEncode( 「somecodes \」「))

+3

世界上會有什麼成就......?這就像說'x = x + 1 - 1'。 – qJake 2011-05-02 14:17:33

+0

@SpikeX,它只是讓你可以看到,當你解碼它時,它被正確解碼。這不是一個如何編碼的例子。 – 2011-05-03 08:20:47

0
String output = new String(input.getBytes(),"UTF-8");