我需要通过webservice传递特殊字符。我用了代码
HttpUtility.UrlEncode(“french character”)
但如果字符串包含双引号
,则编码无法正常工作例如:HttpUtility.UrlEncode("é")
它编码很好。但没有正确解码
......提前感谢......
答案 0 :(得分:7)
é
的 Url encoding为%E9
当我们使用
时HttpUtility.UrlEncode( “E”)
我们将输出设为%c3%a.
HttpUtility.UrlEncode( “E”, System.Text.Encoding.GetEncoding( “ISO-8859-1”)
给出正确的编码输出,即%E9
答案 1 :(得分:2)
我看不出你的问题是什么。这段代码:
Console.WriteLine(System.Web.HttpUtility.UrlEncode("something enclosed \"in quotes\""));
输出此结果:
something+enclosed+%22in+quotes%22
正如它应该的那样,没有\
字符。那究竟是什么问题呢?
答案 2 :(得分:0)
String output = new String(input.getBytes(),"UTF-8");
答案 3 :(得分:-2)
编码正常,请尝试:
HttpUtility.UrlDecode(HttpUtility.UrlEncode( “somecodes \”“))