utf-8文本文件中的特殊字符

时间:2017-05-16 17:47:40

标签: java unicode encoding ansi

我的输入文件是ANSI UNIX文件格式。我将该文件转换为UTF-8。

在转换为UTF-8之前,输入文件中有一个特殊字符

»

转换为UTF-8后,它就像这样

û

当我按原样处理文件时,如果不转换为utf-8,所有特殊字符都会消失,数据也会丢失。 但是当我在转换为UTF-8后处理我的文件时,所有数据都显示为与在输出文件中转换为UTF-8后获得的特殊字符相同。

ANSI到UTF-8(可能是错的,如果我错了,请纠正我)

FileInputStream = fis = new FileInputStream("inputtextfile.txt");
InputStreamReader isr = new InputStreamReader (fis, "ISO-8859-1");
Reader in = new BufferReader(isr);
FileOutputStream fos = new FileOutputStream("outputfile.txt");
OutPutStreamWriter osw = OutPutStreamWriter("fos", "UTF-8");
Writer out = new BufferedWriter(osw);

int ch;
out.write("\uFEFF";);

while ((ch = in.read()) > -1 ) {

    out.write(ch);

}

out.close();
in.close();

此后我将进一步处理我的文件以进行最终输出。 我正在使用Talend ETL工具从生成的utf-8中创建最终输出。 (基于Java的ETL工具)

我想要的是,我想处理我的文件,这样我就可以在输入中获得与输入文件相同的特殊字符。

我正在使用java 1.8进行整个处理。一世' 在这种情况下太过困难了,从来没有用特殊字符来处理它。

任何建议都会有所帮助。

0 个答案:

没有答案