【问题标题】:write to file in hebrew in android (java)在android(java)中用希伯来语写入文件
【发布时间】: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


【解决方案1】:

您的 CSV 可能不是 UTF-8 格式,因此您可能需要按照 Alastair 的建议进行操作,或者在 Google Sheets 或 OpenOffice 中打开它,或者使用 Notepad++ 或 Sublime Text 3 等简单的文本编辑器来查找找出您的文件使用的编码,然后使用this Stack Overflow post 中概述的过程将 CSV 导入 Excel。

当然,您也可以在文件中添加 UTF-8 BOM,如 this post. 中所述,然后 Excel 应该会自动识别 UTF-8 编码并正确显示任何特殊字符。

【讨论】:

    【解决方案2】:

    您的数据文件是 UTF-8。如果您只是“打开”文件,Excel 不会读取 UTF-8。你应该做的是:

    • 在 Excel 中打开一个新文件
    • 单击左上角的单元格(如果您的 Excel 是希伯来语,则单击右上角的单元格)
    • 单击功能区中的“数据”选项卡,然后选择“来自文本”
    • 在导入向导中:
      • 选择“分隔”
      • 确保选择“UTF-8”编码(“文件来源”)
      • 下一步
      • 选择“逗号”
      • 完成

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 2016-04-28
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多