>  기사  >  백엔드 개발  >  XML 가이드 - XML ​​코딩

XML 가이드 - XML ​​코딩

黄舟
黄舟원래의
2017-02-11 15:14:051885검색


XML 문서에는 노르웨이어나 프랑스어와 같은 외국어 문자가 포함될 수 있습니다(물론 중국어입니다! 이 부분은 여전히 ​​원문에 따라 번역할 수 없습니다. 아래 내용 중 일부는 제가 직접 작성했습니다)
파서가 이러한 문자를 이해하려면 XML 문서의 문자 인코딩 표준을 통합해야 합니다.



Windows 95/98 메모장
Windows 95/98 메모장은 유니코드 인코딩 형식으로 파일을 저장할 수 없습니다.
Notes를 사용하면 외국어(예: 노르웨이어, 프랑스어, 중국어)가 포함된 XML 문서를 편집하고 저장할 수 있습니다.

<?xml version="1.0"?> 
<note> 
<from>小奀</from> 
<to>小林</to> 
<message>晚上一起去火锅呀</message> 
</note>


하지만 브라우저로 열 경우 Notes를 사용하세요. 편집된 XML 문서를 IE 5.0에서 열면 오류가 발생합니다.



Windows 95/98 메모장에서 인코딩 사용
Windows 95/98 메모장에서 XML 파일을 편집할 때 인코딩 속성을 설정해야 합니다.
오류를 방지하려면 XML 문서 선언에 인코딩 속성을 추가하여 이 XML 문서의 인코딩 유형을 나타낼 수 있지만 유니코드 인코딩은 사용하지 마세요.
다음 인코딩 유형은 오류가 발생하지 않으며 한자는 정상적으로 표시됩니다.

<?xml version="1.0" encoding="gb2312"?>




다음 인코딩 유형은 오류가 발생하지 않으며 한자는 정상적으로 표시됩니다. 정상적으로 표시됩니다:

<?xml version="1.0" encoding="gbk"?>




다음 인코딩 유형은 오류를 일으키지 않으며 한자는 정상적으로 표시되지 않습니다(깨진 문자):

<?xml version="1.0" encoding="windows-1252"?>




다음 인코딩 유형은 오류가 발생하지 않으며 한자가 정상적으로 표시되지 않습니다(깨진 문자):

<?xml version="1.0" encoding="ISO-8859-1"?>




다음 인코딩 유형은 오류가 발생하지 않으며 한자는 정상적으로 표시됩니다.

<?xml version="1.0" encoding="UTF-8"?>




다음 인코딩 유형은 오류가 발생합니다.

<?xml version="1.0" encoding="UTF-16"?>


Windows 2000 메모장 사용
Windows 2000 메모장은 유니코드 인코딩 형식으로 파일을 저장할 수 있습니다.
Windows 2000용 메모장은 유니코드 문자 집합을 지원합니다. Win2000 메모장을 사용하여 XML 문서를 유니코드 인코딩 형식으로 저장하는 경우(XML 선언에 인코딩 정보가 없음에 유의):

<?xml version="1.0"?> 
<note><from>小奀</from><to>小林</to><message>晚上一起去火锅呀</message></note>


다음 파일, IE5 .0+에서는 오류가 발생하지 않지만 Netscape 6.2를 사용하는 경우 오류가 발생할 수 있습니다. 독자님들께서 note_encode_none.xml과 note_encode_none_u.xml이라는 두 파일을 비교해서 각각의 소스 파일을 따로 보면 차이가 없는데 왜 하나는 표시되고 하나는 표시가 안되는 걸까요? 대답은 유니코드 문자 집합입니다.

Windows 2000 메모장 인코딩
Windows 2000 메모장에서는 "UTF-16" 인코딩 형식으로도 파일을 저장할 수 있습니다.
XML 문서에서 인코딩 속성을 선언하고 유니코드 인코딩 형식으로 파일을 저장하면 오류가 발생할 수 있습니다.
다음 코드는 오류를 발생시킵니다:

<?xml version="1.0" encoding="windows-1252"?>




다음 코드는 오류를 발생시킵니다:

<?xml version="1.0" encoding="ISO-8859-1"?>




다음 코드는 오류를 발생시킵니다:

<?xml version="1.0" encoding="UTF-8"?>




다음 파일은 note_encode_utf16_u.xml이며 IE5.0+에 있습니다. 정상적으로 표시되지만 Netscape 6.2 브라우저에서는 오류가 발생합니다.

<?xml version="1.0" encoding="UTF-16"?>



오류 메시지
IE5.0 이상으로 XML 문서를 검색할 때 두 가지 인코딩 오류가 발생할 수 있습니다.
다음에서 잘못된 문자가 발견되었습니다. 텍스트 내용.
XML 문서가 XML 문서의 인코딩 형식과 일치하지 않으면 오류가 발생할 수 있습니다. 일반적으로 XML 문서에는 "영어가 아닌" 문자가 일부 포함되어 있으며 단일 바이트 인코딩 편집기가 사용되며 XML 문서의 인코딩 형식은 XML 문서 선언에 설정되지 않습니다.

현재 인코딩에서 지정된 인코딩으로의 전환은 지원되지 않습니다.
XML 문서가 유니코드/UTF-16 인코딩 형식으로 저장되었지만 XML 문서 선언에서 인코딩 형식이 일부 단일 바이트 인코딩(예: Windows-1252, ISO-8859-1 또는 UTF)으로 설정되는 경우 -8) ; 또는 XML 문서가 단일 바이트 인코딩 형식으로 저장되었지만 XML 문서의 선언에서 인코딩 형식을 일부 유니코드/UTF-16 인코딩 형식으로 설정하면 두 경우 모두 오류가 발생합니다.

결론
결론: 문서를 저장하기 전에 XML 문서 선언에서 문서의 인코딩 형식을 설정하세요. 오류를 방지하기 위한 몇 가지 제안 사항은 다음과 같습니다.
유니코드 편집기를 지원하는 인코딩 형식을 사용하세요.
어떤 인코딩을 사용하고 있는지 확인하세요.
XML 문서의 속성 선언을 사용하여 인코딩 형식을 설정하세요. >                                                                           

위 내용은 XML 가이드 내용입니다 - XML ​​인코딩 관련 내용은 PHP 중국어 홈페이지( www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.