2011-05-02 8 views
5

웹 서비스를 통해 특수 문자를 전달해야합니다. 내가 코드를 사용프랑스 문자로 인코딩 된 URL :

HttpUtility.UrlEncode ("프랑스어 문자")

하지만 문자열이 이중 Quots 포함 된 경우 인코딩이 제대로 작동하지 않습니다

예 : HttpUtility.UrlEncode("é")

그것은 잘 인코딩합니다. 그러나 제대로 디코딩하지 않습니다

...... 미리 감사드립니다 ......

+0

당신이 가짜 진주 목걸를 제공 할 수 %E9 즉 올바른 인코딩 된 출력을 제공 더 자세한 내용은? 어떻게 해독하려고합니까? 어디에서 다른 응용 프로그램에 있습니까? 귀하의 질문에 '웹 서비스'라는 태그가 붙은 이유는 무엇입니까? SOAP 웹 서비스를 호출하려는 경우 클라이언트 프록시를 생성하고이 프록시에서 해당 메서드를 직접 호출해야합니다. 수동으로 인코딩해서는 안됩니다. 그것은 자동으로 이루어져야합니다. –

+0

아래에 나와있는 답변이 있습니다. 덕분에 – Shebin

답변

6

Url encoding%E9

때입니다 우리가 사용한다

HttpUtil ity.UrlEncode는 ("E")

우리는 %c3%a.

HttpUtility.UrlEncode ("E", System.Text.Encoding.GetEncoding ("ISO-8859-1"로 출력을 얻을)

2

나는 당신의 문제가 무엇인지 모르겠다. 이 코드 :

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

출력이 결과 :

something+enclosed+%22in+quotes%22 

그냥 예상대로의 \ 문자없이. 문제가 정확히 무엇입니까?

+0

하지만 é와 같은 프랑스어 문자 인코딩에 몇 가지 문제가있어. 인코딩하지만 제대로 디코딩하지 않습니다 .. – Shebin

+0

질문을 게시하지 않아서 미안합니다 – Shebin

-2

그것은 잘 인코딩 된 시도 :

HttpUtility.UrlDecode (HttpUtility.UrlEncode는 ("somecodes \" ")) 프랑스 문자 é

+3

그게 무슨 일을 할 것입니까? 그것은'x = x + 1 - 1'과 같습니다. – qJake

+0

@ SpikeX, 그냥 해독 할 때 제대로 디코딩된다는 것을 알 수 있습니다. 인코딩 방법의 예가 아닙니다. –

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