2009-07-30 7 views
1

태국어 문자가있는 RTF 파일을 읽고 텍스트 파일에 써야한다는 요구 사항이 있습니다. TIS-620, MS874, ISO-8859-11을 사용해 보았습니다. 그러나 메모장이나 텍스트 패드에서 결과 출력 파일을 열면 타이 문자가 제대로 표시되지 않습니다. 하지만 워드 패드에서는 잘 작동합니다. 나를 안내 해줘.태국어 문자 인코딩

감사합니다. 그리고 Ramya. 문제를 해결

코드 (여기에 추가하는 것은 그것을 읽을 수 있도록, 코멘트에 게시!) :

FileInputStream fin = new FileInputStream(fileName); 
DataInputStream din = new DataInputStream(fin); 
//creating a default blank styled document 
DefaultStyledDocument styledDoc = new DefaultStyledDocument(); 
//Creating a RTF Editor kit 
RTFEditorKit rtfKit = new RTFEditorKit(); 
//Populating the contents in the blank styled document 
rtfKit.read(din,styledDoc,0); 
// Getting the root document 
Document doc = styledDoc.getDefaultRootElement().getDocument(); 
//Printing out the contents of the RTF document as plain text 
System.out.println(doc.getText(0,doc.getLength())); 
+1

출력 파일도 RTF입니까? –

+0

출력 파일이 텍스트 파일이 아닙니다. 아래 게시 된 코드로 문제를 해결했습니다. –

답변

0

나는 메모장 조금 인터넷 검색에서 모든 문자 인코딩을 처리합니다 생각하지 않습니다. 메모장에서 올바르게 처리하므로 문자를 UTF-8 (또는 다른 유니 코드 형식)으로 다시 인코딩해볼 수 있습니까? want to use the BOM입니다.

나는 또한 다양한 다른 인코딩으로 tool for converting files in Thai을 우연히 발견했습니다.

마지막으로 메모장에서 파일을 열 수 있다는 요구 사항이 있습니까? 메모장이 텍스트 편집의 마지막 단어 인 것처럼 아닙니다.

+0

FileInputStream fin = 새 FileInputStream (파일 이름); DataInputStream din = 새 DataInputStream (fin); // 기본 빈 스타일 문서 만들기 DefaultStyledDocument styledDoc = new DefaultStyledDocument(); // RTF 편집기 키트 만들기 RTFEditorKit rtfKit = 새 RTFEditorKit(); // 공백 스타일의 문서에 내용 채우기 rtfKit.read (din, styledDoc, 0); // 루트 문서 얻기 문서 doc = styledDoc.getDefaultRootElement(). getDocument(); // RTF 문서의 내용을 일반 텍스트로 인쇄 System.out.println (doc.getText (0, doc.getLength())); –

+0

어떻게 문제를 해결 했습니까? 그것은 파일 출력 스트림의 인코딩을 전혀하지 않습니다! –