2014-10-13 6 views
0

나는 Talend Project에서 작업 중입니다. 1000 개의 XML 파일에서 CSV로 데이터를 변환하는 곳이며 Talend 자체에서 UTF-8로 CSV 파일 인코딩을 만듭니다.Talend Open Studio의 인코딩 문제

그러나 파일의 일부가 UTF-8로 작성되었으며 일부는 ASCII로 작성되므로이 문제가 발생하는 이유는 확실하지 않습니다. 파일은 항상 UTF로 작성되어야합니다.

+0

파일이 ASCII 또는 UTF8이라고 알려줍니다. – ydaetskcoR

+0

Linux 시스템에서 commad'file FileName'을 사용하고 있습니다. –

+1

ASCII는 UTF8의 유효한 하위 집합입니다. 파일에 ASCII 문자 이외의 문자가 포함되어 있지 않으면 파일이 UTF8로 출력 되더라도 ASCII로 간주됩니다. – ydaetskcoR

답변

0

사용중인 tFileOutputDelimited (또는 다른 종류의 tFileOutxxx)의 고급 탭으로 이동하여 UTF-8 인코딩을 선택할 수 있습니다. 여기

는 선택 enter image description here

내가 유닉스 파일 폴더의 유틸리티가 어떤 범위에있는 파일의 내용에 따라 가정을 매우 확신하고 또는 특정 시작을 가진 (마술을 수행 할 수있는 고급 탭의 이미지입니다 번호). 귀하의 경우 완벽하게 유효한 UTF-8 파일을 생성하지만 ASCII 하위 집합 만 사용하면 util 파일에 ASCII로 표시됩니다. 이 경우 UTF-8 파일이 유효하기 때문에 정상적으로 작동합니다. :)

+0

이것은 실제로 질문에 대답하지 않습니다. OP의 실제 문제는 주석에서 언급했듯이 UTF8이 ASCII의 상위 집합이라는 것입니다. UTF8로 인코딩 된 파일에 비 ASCII 문자가없는 경우 파일 형식이 인코딩 선언을 특별히 허용하지 않는 한 ASCII로 간주됩니다. – ydaetskcoR

+0

@ydaetskcoR OP 질문에서 필자는 자신의 파일이 UTF8로 인코딩되었는지 확인해야한다고 생각합니다. 나는 그가 Talend에서 그것을 어떻게 할 수 있는지 설명했다. 나는 이것이 그의 필요를 해결한다고 생각한다. 어떤 경우에는 (ASCII 문자 만 사용하는 UTF8 파일) 두 인코딩을 파일 내용과 구별 할 수 없지만 OP 문제는 UTF8인지 여부를 알 수있는 방법이 아니라는 점을 이해합니다. 그의 문제는 UTF8로 인코딩 된 파일을 생성해야한다는 것입니다. – RobMcZag

0

주석에서 언급했듯이 UTF8은 ASCII의 상위 집합입니다. 즉, ASCII 문자의 코드 포인트는 UTF8에서 ASCII와 동일합니다.

ASCII 문자 만 포함하는 파일을 식별하는 프로그램은 단순히 ASCII 인코딩 된 것으로 가정합니다. ASCII 문자 집합 외부에있는 문자를 포함 할 때만 파일이 인식 프로그램에서 사용하는 추론에 의해 인식 될 수 있습니다.

유일한 예외는 해당 인코딩을 명시 적으로 지정하는 파일 형식입니다. 여기에는 일반적으로 인코딩 선언으로 시작하는 (X) HTML 및 XML과 같은 항목이 포함됩니다.

0

talend가 원하는대로 파일을 가져 오게하려면 파일에 추가 열 (예 : tMap)을 추가하고이 열에 UTF-8 문자를 설정할 수 있습니다. 생성 된 파일은 언급 된 다른 replier와 마찬가지로 UTF8로 작성됩니다.