【发布时间】:2018-10-02 05:48:42
【问题描述】:
我在做一个联系人项目 我复制所有联系人并将它们写入 csv 文件,然后将它们上传到 firebase。
当我打开这个文件(在任何设备上)时,我看到用希伯来字母书写的联系人看起来很奇怪。
这是我的代码:
public void generateNoteOnSD(Context context, String sFileName, String sBody) throws Exception {
try {
File root = new File(Environment.getExternalStorageDirectory(), "ProjectContacts");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, sFileName);
FileWriter writer = new FileWriter(gpxfile);
OutputStreamWriter writer =new FileWriter(gpxfile);
writer.append(sBody);//
writer.flush();
writer.close();
Toast.makeText(context, "Saved", Toast.LENGTH_SHORT).show();
//Toast.makeText(context, "Start upload", Toast.LENGTH_LONG).show();
//UploadCsvFile(gpxfile);
} catch (IOException e) {
e.printStackTrace();
}
}
sBody 包含希伯来字母
我希望有人可以帮助我。谢谢。
【问题讨论】:
-
Excel 在编码检测方面是出了名的差。请在 Notepad++ 中加载文件并报告结果。
-
我不明白..
-
您的问题与文件的编码有关。您的 csv 文件很可能是 UTF-8 编码的(您应该强制编码!)。默认情况下,Excel 不会以 UTF-8 解析(除非您告诉它或文件包含 UTF-8 BOM)。将 CSV 加载到编辑器中,该编辑器可以更好地读取 UTF-8。
-
你的意思是我写入txt文件,然后将其转换为csv?
-
我在 txt 文件中打开它并显示完美的希伯来语,我如何在 csv 文件中显示希伯来语?
标签: java android file utf hebrew