【问题标题】:Intellij build artifact - runnable jar UTF-8Intellij 构建工件 - 可运行的 jar UTF-8
【发布时间】:2020-10-14 20:55:05
【问题描述】:

我构建了一个读取 csv 文件(保存为 csv UTF-8)的项目。 在我的项目中,我阅读了该 csv 文件的每一行。 每一行的输出都显示在一个日志文件中。

现在,当我在 intellij 中运行我的项目并查看日志文件时,所有行都是可读的。 但是当我从我的项目中构建一个工件然后运行该 jar 时,csv 中的一些符号被替换为“?”符号..

我在文件编码下查看了我的项目的设置,也有 UTF-8 的所有内容。

我不知道这怎么可能.. 谁能帮我吗 ?谢谢!

【问题讨论】:

  • 在命令行 jar 中使用-Dfile.encoding=UTF-8 VM 选项运行它有帮助吗?
  • 你能给我一个我必须在 cmd 中输入的完整行的例子吗?
  • java -Dfile.encoding=UTF-8 -jar yourapp.jar param1 param2
  • 是的,它有效!非常感谢!

标签: java intellij-idea build artifact


【解决方案1】:

从命令行运行应用程序时指定编码,如下所示:

java -Dfile.encoding=UTF-8 -jar yourapp.jar param1 param2

或者更改您的读取/写入文件的应用代码以明确强制正确编码。

【讨论】:

    【解决方案2】:

    当我指定 -Dfile.encoding=UTF-8 时,我需要将此编码选项放在两个 " 之间,但是它不起作用并返回错误。也许它会帮助遇到与我相同问题的人。

    java "-Dfile.encoding=UTF-8" -jar app.jar
    

    【讨论】:

      猜你喜欢
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 2017-11-18
      相关资源
      最近更新 更多