Encoding 泰语字符编码

Encoding 泰语字符编码,encoding,internationalization,rtf,Encoding,Internationalization,Rtf,我有一个要求,读取一个RTF文件与泰国字符,并将其写入一个文本文件。我尝试使用TIS-620、MS874、ISO-8859-11,但当我在记事本或textpad中打开生成的输出文件时,泰国字符显示不正确。但它与写字板配合得很好。请指导我。我不认为记事本可以处理所有字符编码,从一点谷歌搜索。既然记事本可以正确地处理这些字符,您可以尝试将其重新编码为UTF-8(或其他unicode格式)吗?你会的 我还无意中发现了一种新的编码方法,可以转换成各种其他编码 最后,是否要求文件可以在记事本中打开?记事本

我有一个要求,读取一个RTF文件与泰国字符,并将其写入一个文本文件。我尝试使用TIS-620、MS874、ISO-8859-11,但当我在记事本或textpad中打开生成的输出文件时,泰国字符显示不正确。但它与写字板配合得很好。请指导我。

我不认为记事本可以处理所有字符编码,从一点谷歌搜索。既然记事本可以正确地处理这些字符,您可以尝试将其重新编码为UTF-8(或其他unicode格式)吗?你会的

我还无意中发现了一种新的编码方法,可以转换成各种其他编码


最后,是否要求文件可以在记事本中打开?记事本并不是文本编辑的最后一个字。

解决问题的代码(在注释中发布,添加到此处以使其可读!):


FileInputStream fin=新的FileInputStream(文件名);DataInputStream din=新的DataInputStream(fin)//创建默认的空白样式文档DefaultStyledDocument styledDoc=new DefaultStyledDocument()//创建RTF编辑器工具包RTFEditorKit rtfKit=new RTFEditorKit()//填充空白样式文档RTFKIT.Read(DIN,SydiDoc,0)中的内容;获取根文档doc=styledDoc.getDefaultRootElement().getDocument()//以纯文本System.out.println(doc.getText(0,doc.getLength())形式打印RTF文档的内容;这是如何解决问题的?这对文件输出流的编码没有任何作用!否输出文件为文本文件。我们用下面的代码解决了这个问题。
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()));