我创建了一个程序来读取不同的文本文件并将其组合成.csv文件。它是一个.csv文件,翻译成英语,荷兰语,法语,意大利语,葡萄牙语和西班牙语。
现在这是我的问题:
最后,我得到一个很好的填充.csv文件,其中包含所有翻译。我用UTF-8读取文件,除了法语之外,所有语言都显示正确。一些字符显示为像这样的问号:“Mis?jour”,它应该是“Misàjour”。
以下是使用不同语言读取不同文件并从中创建对象的方法,以便我可以将它们排序并将它们放在.csv文件中的正确位置
文件填充如下:
到机场; A l'aéroport
今天; Aujourd'hui
public static Language getTranslations(String inputFileName) {
Language language = new Language();
FileInputStream fstream;
try {
fstream = new FileInputStream(inputFileName);
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream(inputFileName), "UTF-8"));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
String[] values = strLine.split(";");
if(values.length == 2) {
language.putTranslationItem(values[0], values[1]);
}
}
//Close the input stream
in.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
return language;
}
我希望有人可以提供帮助!
由于
答案 0 :(得分:0)
我对此并不完全确定,但您可以尝试将值[0]和值[1]字符串转换为bytearray
byte[] value_0_utfString = values[0].getBytes("UTF-8") ;
byte[] value_1_utfString = values[1].getBytes("UTF-8") ;
然后将其转换回字符串
str_0 = new String(value_0_utfString ,"UTF-8") ;
str_1 = new String(value_1_utfString ,"UTF-8") ;
不确定这是否是正确/优化的方式,但由于单行包括英语和法语,我认为拆分和编码可能有所帮助,我自己没有尝试过
答案 1 :(得分:0)
通过在任何文本编辑器(例如记事本)中单击“另存为”来保存文本文件,并将编码类型更改为ANSI而不是UTF-8。