【问题标题】:Creating csv file with utf-8使用 utf-8 创建 csv 文件
【发布时间】:2015-10-18 20:25:38
【问题描述】:

我的 Csv 文件有问题,在我的应用程序中,我想将所有数据库插入 Csv 文件并通过电子邮件发送。 每一件事都很好,除了一件事——文件的编码不是 UTF-8 所以每次我通过电子邮件发送文件时,我都必须自己更改编码。

我没有找到任何方法可以在创建文件时更改编码, 所以我想知道是否可以使用编码 UTF-8 将 csv 文件插入到我的应用程序的资源文件夹中, 然后通过电子邮件发送此文件。

所以我要问的是,这可能吗? 如果是这样,我该怎么做?

我目前正在使用 openCSV 创建 csv 文件 String csv = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); try { File myFile = new File(csv + "/Data.csv"); myFile.createNewFile(); CSVWriter writer = new CSVWriter(new FileWriter(myFile), ','); }

【问题讨论】:

  • 找了很久,没有找到答案。你有我能看到的例子吗?
  • 我没有读取手机中的 csv 文件,我只是在其中创建和写入,然后将其发送到电子邮件并在我的计算机中打开文件。我不知道你在哪里找到答案,但我找不到任何改变编码的代码,也许我是个白痴,Idk):。你能把你找到的答案的链接发给我吗?
  • 好的,告诉我我是否正确,这段代码创建了一个文件阅读器,它使用 UTF-8 编码读取文件,所以当我想从 csv 文件中获取一行或其他内容时,我会得到字符串或带有 UTF-8 编码的行,并在我的代码中使用它或其他任何东西......如果这是代码所做的事情,那将无济于事。当我在我的计算机中打开文件时,默认编码不是 UTF-8,每次我通过电子邮件发送文件时,我都必须更改编码(在我的计算机中)如果您发送给我的代码假设按照我说的做它没有用):而且我不知道为什么....无论如何都需要帮助
  • 非常感谢,不过好像不行……
  • 你发给我的最后一个链接无效...我试试你发的最后一个链接

标签: csv android-studio utf-8


【解决方案1】:

在为您寻找问题的解决方案时,我删除了我们交换的冗长的 cmets。

您必须在CSVWriter 上使用不同的构造函数,然后才能指定文件编码。 在 JVM 启动时定义 file.encoding 也应该有所帮助:

java -Dfile.encoding=UTF-8 -jar foo.jar

您的堆栈溢出问题已经有文档解决方案,其中显示了一个示例:setting a UTF-8 in java and csv file

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2013-05-12
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多