2013-05-28 4 views
1

내 C# 응용 프로그램에서 xml 형식으로 게시물 데이터를받습니다. XML 내에서 "SmÃ¥senter (Sandvika SmÃ¥senter)"으로 수신되는 속성이 있습니다. 데이터베이스에 삽입하기 전에 "Småsenter (Sandvika Småsenter)"으로 인코딩해야합니다. 나는 특수 문자 인코딩 C#

string name = "Småsenter (Sandvika Småsenter)"; 
name = HttpUtility.HtmlDecode(name); 

는 또한

name = HttpUtility.HtmlEncode(name);을 시도하지만 예상 출력을 제공하지 않는 코드 아래 사용하려고했습니다. 예상되는 문자를 얻을 수 있습니까? 텍스트 인코딩을 혼합하여 발생

감사

상 기사

+9

XML이 단순히 깨진 것 같습니다. 왜 문자가 올바르게 인코딩되지 않습니까? 이 XML을 작성하는 이유는 무엇이며 어떻게 구문 분석합니까? –

+0

XML 문서의 헤더에 인코딩이 지정되어 있습니까? –

답변

5

당신은 단지 Mojibake가 발생했다. XML을 작성하고 읽는 데 동일한 인코딩을 사용해야하며 UTF-8과 같은 유니 코드 인코딩이 바람직합니다. "Små senter"와 같은 깨진 문자열을 복구하려고 시도해서는 안되며 처음에는 깨지지 않게하십시오.

+0

+1, 100 % 성공으로 인코딩을 자동으로 감지하는 것도 불가능합니다. 즉, 이러한 알고리즘이 있지만 올바른 인코딩을 찾지 못할 때가 있습니다. –