이것은 어둠 속에있는 장면입니다.이 질문이 광인의 말처럼 들리는 경우 사전에 사과드립니다.C#, UTF-8 및 인코딩 문자
타사와의 통합의 일환으로 C#을 사용하여 일부 문자열 정보를 UTF8로 인코딩해야 멀티 파트 양식을 통해 대상 서버로 보낼 수 있습니다. 문제는 내가 제출 한 내용 중 일부를 거부하고 있다는 것입니다. 이유는 콘텐츠를 올바르게 인코딩하지 않기 때문입니다.
지금 당장은 대시 또는 하이픈 (보고있는 것만 알 수 없음)이 대상 서버에 의해 수신되거나 해석되는 것을 확인하려고합니다 (예, 그렇습니다. 5 자리의 문자열이며 브라우저에서 문제가되지 않습니다). 그리고 불행히도 바이트 배열을 사용하여 문제가있는 곳을 식별하기 시작하는 방법을 알고 싶다면 Encoding.UTF8.GetBytes()
에 대해 충분히 이해하지 못했습니다.
누군가가 조언이나 조언을 제공 할 수 있다면, 크게 감사하겠습니다. 지금까지 나의 유일한 친구는 MSDN이었고 그 중 하나는 그다지 많지 않았습니다.
UPDATE 1는 : - "%를 E2의 % 80 % 94"로를 인코딩 진수 몇 가지 이상의 주변 굴착 후, I는 System.Web.HttpUtility.UrlEncode()
를 사용하여 엠 DASH 문자 ("") 인코딩하는 것을 발견했다.
"application/x-www-form-urlencoded"콘텐츠 유형으로 HttpWebRequest
게시물에이 정보를 보내고 있습니다. 문제의 원인이 될 수 있습니까? 그렇다면 UTF-8 요청을 기대하는 서버가 이해할 수 있도록 값에 유니 코드 문자가 포함될 수있는 일련의 이름 - 값 쌍을 인코딩하는 올바른 방법은 무엇입니까?
그 결과 나는 utf8 인코딩 결과를 ascii로 인코딩 한 것 같아요. – Joshua
잘못된 인코딩을 사용해도 1 문자 대시가 5 문자 시퀀스로 변환 될 가능성은 거의 없습니다. 그것은 아마도 인코딩 문제 일뿐입니다. –
@ Joshua : 나는 당신이 문제의 핵심에 가깝다고 생각합니다. 방금 추가 정보가 담긴 원본 게시물의 업데이트를 추가했습니다. –