C# 使用法语字符的Url编码
我需要通过Web服务传递特殊字符。我用了密码 HttpUtility.UrlEncode(“法语字符”) 但是,如果字符串包含双引号,则编码无法正常工作 例如:C# 使用法语字符的Url编码,c#,.net,web-services,C#,.net,Web Services,我需要通过Web服务传递特殊字符。我用了密码 HttpUtility.UrlEncode(“法语字符”) 但是,如果字符串包含双引号,则编码无法正常工作 例如:HttpUtility.UrlEncode(“é”) 它的编码很好。但不能正确解码 ……提前谢谢……我不知道你有什么问题。此代码: Console.WriteLine(System.Web.HttpUtility.UrlEncode("something enclosed \"in quotes\"")); 输出此结果: somethi
HttpUtility.UrlEncode(“é”)
它的编码很好。但不能正确解码
……提前谢谢……我不知道你有什么问题。此代码:
Console.WriteLine(System.Web.HttpUtility.UrlEncode("something enclosed \"in quotes\""));
输出此结果:
something+enclosed+%22in+quotes%22
正如它应该的那样,没有
\
字符。那么到底是什么问题呢?编码很好,请尝试:
HttpUtility.UrlDecode(HttpUtility.UrlEncode(“somecodes\”)
法语字符é
是%E9
当我们使用
HttpUtility.UrlEncode(“é”)
我们得到的输出为%c3%a.
HttpUtility.UrlEncode(“é”,
System.Text.Encoding.GetEncoding(“ISO-8859-1”)
给出正确的编码输出,即
%E9
这到底能实现什么…?这就像说x=x+1-1
@SpikeX,这只是为了让你能看到,当你解码回来时,它被正确解码了。这不是一个如何编码的例子。但我在编码法语字符时遇到了一些问题,比如é。它是代码但未正确解码..很抱歉没有正确发布问题。您可以提供更多的详细信息吗?您是如何尝试解码的?在哪里,它在另一个应用程序中?为什么您的问题被标记为web services
?如果您试图调用SOAP web服务,您只需生成一个客户端代理并直接调用此代理上的相应方法。您不应该手动编码任何内容。这应该自动完成。我得到了下面提到的答案。谢谢
String output = new String(input.getBytes(),"UTF-8");