2017-05-05 1 views
1

XSLT를 사용하여 XML을 CSV로 변환 중입니다. XSLT에서 내 출력 라인은 다음과 같습니다 XML 폴란드어 문자가 많이 있습니다XSLT를 사용하여 CSV로 XML 보내기 - 폴란드어 문자 보존

<xsl:output method="text" encoding="UTF-8" />

, 그게 문제입니다. 메모장에서 XML 도구 플러그인을 사용하여 XML을 변환 할 때 출력 파일 (저장되지 않음)에 폴란드 문자가 올바르게 표시되고 인코딩을 클릭하면 UTF-8 without BOM이 표시됩니다. CSV로 저장하면 Excel 편지에 폴란드어가 표시되지 않습니다. 메모장의 파일 인코딩을 UTF-8 with BOM으로 변경하면 Excel에서 제대로 작동합니다.

이 모든 것이 메모장 ++의 문제라고 생각했지만 XmlSpy에서 변환 할 때 출력 파일이 Excel과 같이 올바르지 않습니다.

XSLT가 아닌 수동으로 파일을 추가 할 수 있을지 궁금하지만이 파일을 제거하는 방법은 모두 찾을 수 있습니다. 내 문제. 나는 이것에 미쳤어.

저는 XSLT 1.0 btw를 사용하고 있습니다. XmlSpy에서의 인코딩은 기본적으로 UTF-8입니다. 입력 XML의 인코딩 또한 UTF-8입니다. 당신이 출력 &#xFEFF; 명시 적으로 ...

<xsl:template match="/"> 
    <xsl:value-of select="'&#xFEFF;'"/> 
    <xsl:apply-templates/> 
</xsl:template> 

는 XSLT 2.0을 사용한다면, 당신은 단지 xsl:outputbyte-order-mark="yes"를 사용할 수 있습니다

+0

Excel 같은 문제가 있습니다. 메모장 + +와 같은 소규모 프로젝트라도 파일을 열 때 파일 인코딩을 올바르게 파악할 수 있다면 응용 프로그램에서 기능적으로 동일한 기능을 구현할 수 없다는 점이 Microsoft에 당황 스러울 것입니다. –

답변

2

는 XSLT 1.0을 사용하고 있기 때문에.

+1

그것은 작동합니다! 나는''과 같이 이스케이프를위한 다른 옵션을 시도했지만 아무 것도 효과가 없었다. 감사! – Shadov