xml 파일에서 BOM 문자를 제거하려면 어떻게 해야 합니까?
xsl을 사용하여 xxml 파일의 출력을 제어하고 있는데 BOM 문자가 추가되고 있습니다.
# vim file.xml
:set nobomb
:wq
이것을 xslt 파일에 추가하기만 하면 됩니다.
<xsl:output method="text"
encoding="ASCII"/>
헥스 편집기를 사용해서 처음에 2바이트만 떼어내도 됩니다.
XSLT를 사용하여 문자열에서 BOM 기호를 제거하는 방법은 매우 간단합니다.
<xsl:value-of select="translate(StringWithBOM,'','')"/>
저는 XML이 유니코드, 일부 유니코드 인코딩으로 작성될 것을 권장하며, 특정 유니코드 인코딩이 초기 바이트 순서 표시를 포함하도록 지정되어 있다는 인상을 받았습니다.이 바이트 순서 표시가 없으면 파일이 더 이상 유니코드 인코딩으로 올바르게 인코딩되지 않으므로 XML 프로세서는 조금의 오류(예: 잘못된 유니코드 인코딩)에도 즉시 실패하는 것이 좋습니다.어떤 종류의 XML 프로세서를 깨려고 합니까?
분명히 UTF-8 인코딩된 문서에서 바이트 순서 표시를 제거하면 해당 문서가 (유니코드가 아닌) ASCII 인코딩된 것처럼 보이고, 일부 텍스트 프로세서는 ASCII 인코딩된 문서만 사용할 수 있습니다.이게 당신이 하고 있는 일인가요?
XSL에서 사용할 출력 인코딩은 무엇입니까?입력 문서가 어떤 인코딩입니까?입력은 어디서 오고, 그동안 저장/업로드/다운로드는 어디서 했습니까?
XML과 XSL은 기본적으로 UTF-8을 사용해야 합니다.하지만 분명히 여기 뭔가 잘못되고 있습니다.
발생할 수 있는 한 가지 일은 XML이 기본적으로 ISO-8859-1에서 작동하도록 설정된 웹 서버에 의해 서비스되고 있다는 것입니다. 이는 상당히 양호한 기본값입니다. 유니코드 이전 버전입니다.
약간 주제에서 벗어나긴 했지만, 텍스트 인코딩에 대한 조엘의 매우 교훈적인 기사는 저에게 눈을 뜨게 했습니다.그렇지 않으면 프로그래밍에 대해 매우 똑똑하지만 "평범한 텍스트"가 있다고 생각하거나 텍스트를 "ASCII" 또는 "ANSI"라고 부르는 사람들이 있습니다.아직 파악하지 못했다면 정말로 해결해야 할 문제입니다.
언급URL : https://stackoverflow.com/questions/295472/how-do-i-remove-the-bom-character-from-my-xml-file
'programing' 카테고리의 다른 글
| Oracle/SQL: 쿼리 "SELECT * From records WHEROWNUM >= 5 ANDROWNUM <= 10" - 0개의 행을 반환하는 이유 (0) | 2023.10.19 |
|---|---|
| jQuery Get에서 응답 헤더 위치를 가져오는 방법? (0) | 2023.10.19 |
| 워드프레스에서 프로그래밍 방식으로 사용자 아바타 변경 (0) | 2023.10.19 |
| MySQL JOINs는 어떤 순서로 평가됩니까? (0) | 2023.10.19 |
| Excel VBA에서 COM interop에 대한 관리 권한이 없는 regasm 호출 (0) | 2023.10.19 |