2011-05-02 69 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");