이 문서에서는 MSXML(Microsoft XML 파서)을 사용하여 특수 문자가 포함된 XML(Extensible Markup Language)을 구문 분석할 때 오류를 해결하는 데 도움이 됩니다.
원래 제품 버전: .NET Framework
원래 KB 번호: 238833
증상
MSXML(Microsoft XML 파서)을 사용하여 특수 문자가 포함된 XML을 구문 분석하는 경우 파서는 첫 번째 특수 문자의 줄과 위치에 다음 오류 메시지를 보고할 수 있습니다.
텍스트 콘텐츠에서 잘못된 문자를 찾았습니다.
원인
XML 문서는 적절한 문자 인코딩 구성표로 표시되지 않습니다.
해결 방법
- XML 처리 명령에서 적절한 인코딩 구성표를 지정합니다.
- XML 데이터를 적절한 UTF-8로 다시 인코딩합니다.
상태
이 동작은 의도된 것입니다.
추가 정보
특수 문자는 악센트, 움라우트 또는 기타 발음이 있는 라틴 문자와 같이 0x7F 0x00 표준 ASCII(미국 표준 정보 교환) 문자 집합 범위를 벗어난 문자를 가리킵니다. XML 문서의 기본 인코딩 체계는 UTF-8로, ASCII 문자를 다른 표준 인코딩 스키마와 다르게 0x80 이상의 값으로 인코딩합니다.
간단한 iso-8859-1 인코딩 체계를 사용하는 데이터로 작업하는 경우 이 문제가 자주 발생합니다. 이 경우 가장 빠른 솔루션은 일반적으로 해결 섹션 앞에 나열된 첫 번째 솔루션입니다. 예를 들어 다음 XML 선언을 사용합니다.
<?xml version="1.0" encoding="iso-8859-1" ?>
<rootelement>
...XML data...
</rootelement>
대신 숫자 엔터티 참조를 사용하여 각 문자를 인코딩할 수 있습니다. 예를 들어 특수 문자 <test>á</test>
사용할 수 있습니다.