2011-12-08 2 views
0

나는 프랑스어가 포함 된 악센트로 작성된 문자열을 반환하는 json 서비스를 사용하고 있습니다. 악센트가 'é'=> '?'기호로 바뀌므로 물건을 올바르게받지 못합니다.알 수없는 인코딩을 utf-8로 변환

나는 문제가 인코딩을 추측하고있어하지만 난 UTF8

 var allTheEncoding = Encoding.GetEncodings(); 
     foreach (var encodingInfo in encoding) 
     { 
      var decoByte = encodingInfo.GetEncoding().GetBytes(str); 
      var utf8Bytes = Encoding.Convert(encodingInfo.GetEncoding(), utf8, decoByte); 
      str = utf8.GetString(utf8Bytes); 
     } 

에 매 인코딩으로 문자열을 변환하려고 그리고 난 아직도 내가 바로 그 일을하고있는 같은 probleme있어? 어떻게해야합니까 ?? 말은 볼트 후에 당신은 안정 문을 종료하고 사전

+0

조차 변환되었다 일단 잘못된 일을 인코딩하려고하지 않는 것이 만들 때 그 때부터, str되었다 원래 스트림에 str 작업을 작동하지 마십시오. 바이트 배열을받은 후에 만 ​​인코딩을 변환 할 때 인코딩을 지정할 수 있습니다. – BLUEPIXY

+0

원본 데이터의 인코딩이 무엇인지 파악해야합니다. 아마도 여기저기서 꼼꼼히 살펴봄으로써 경험적으로 이해할 수 있지만, 소스 인코딩을 즉시 파악할 수 있도록 애플리케이션을 작성해서는 안됩니다. 원본 인코딩을 찾아 내고 인코딩이 절대 바뀌지 않도록하거나 소스에서 사용하는 인코딩을 지정해야합니다. 예를 들어 HTTP에서는 문자 인코딩이 Content-Type 헤더 인 charset 필드에 표시됩니다. XML 문서에서 문자 인코딩은 XML 선언에 표시됩니다. – dthorpe

+0

답변 해 주셔서 감사합니다.하지만 출처를 확인한 끝에 오류가 발생했습니다. 그 후 그들은 그것을 수리했고 모든 것이 작동합니다. – Rachid

답변

1

감사합니다.

str가의 오류 기었다.

관련 문제