是否可以 运行 我的应用程序在没有终端的情况下以 unicode 编码?
Is it possible to run my app encoded in unicode without terminal?
我有一个带有菜单、项目、标签等的 GUI 应用程序。他们的可见名称包含 unicode 字符。现在,我需要使用 unicode 字符正确显示此应用程序。如果我运行 jar,java使用默认的系统编码,不是unicode。我可以通过将参数 -Dfile.encoding=UTF-8 添加到带有 -jar <app.jar>
的命令行来解决此问题。但是假设我想把 jar 给某人,他打开 CMD 并将一些参数传递给 java 可能是愚蠢的。实际上,java vm 是一个启动参数可以做大事的程序。 Java 应用程序 运行 正在 java 虚拟机中。由于 manifest.mf 传递给 jvm 参数关于将要执行的程序的主要方法的路径,为什么我们在 manifest.mf 文件中没有例如函数,一个参数数组将是运行ning 应用程序时在 jvm 中使用。我知道 java 更多地用于制作实用程序,对于 GUI 应用程序有 C,但是 java 是一种很棒的语言,除了虚拟机的一些缺点。我对我的主程序有一个想法,它将使用适当的参数打开新的 java 虚拟机,并在那里打开 运行 应用程序。然后,自杀。我也知道将 jar 包装到 exe,这样 exe 文件将 运行 jvm 和应用程序,但后来我失去了多平台可压缩性。感谢您的回答。希望我没有在这里写一些无用的东西。
这里有几个问题,但让我给你一个大概的指导:
打包 JAR 时,JAR 文件中的元数据,例如条目名称、注释和清单内容,必须以 UTF8 编码(标签等也是如此)。 ..).无论您是使用命令行实用程序还是某些 IDE 打包 JAR,这都适用。因此,首先检查带有标签等的文件是否采用 UTF8 编码。
您自己的 OS 可能有非 unicode 设置。因此,当您编辑和保存带有标签的 .properties(或其他)文件时,它们实际上并没有以 UTF8 格式保存。
如果你打包 "launchable" JAR,只要你在 JAR 中有 UTF-8 标签,它应该可以使用 UTF-8。
也看看这个问题:How to Force a jar to uses(or the jvm runs in) utf-8 instead of the system's default encoding
我有一个带有菜单、项目、标签等的 GUI 应用程序。他们的可见名称包含 unicode 字符。现在,我需要使用 unicode 字符正确显示此应用程序。如果我运行 jar,java使用默认的系统编码,不是unicode。我可以通过将参数 -Dfile.encoding=UTF-8 添加到带有 -jar <app.jar>
的命令行来解决此问题。但是假设我想把 jar 给某人,他打开 CMD 并将一些参数传递给 java 可能是愚蠢的。实际上,java vm 是一个启动参数可以做大事的程序。 Java 应用程序 运行 正在 java 虚拟机中。由于 manifest.mf 传递给 jvm 参数关于将要执行的程序的主要方法的路径,为什么我们在 manifest.mf 文件中没有例如函数,一个参数数组将是运行ning 应用程序时在 jvm 中使用。我知道 java 更多地用于制作实用程序,对于 GUI 应用程序有 C,但是 java 是一种很棒的语言,除了虚拟机的一些缺点。我对我的主程序有一个想法,它将使用适当的参数打开新的 java 虚拟机,并在那里打开 运行 应用程序。然后,自杀。我也知道将 jar 包装到 exe,这样 exe 文件将 运行 jvm 和应用程序,但后来我失去了多平台可压缩性。感谢您的回答。希望我没有在这里写一些无用的东西。
这里有几个问题,但让我给你一个大概的指导:
打包 JAR 时,JAR 文件中的元数据,例如条目名称、注释和清单内容,必须以 UTF8 编码(标签等也是如此)。 ..).无论您是使用命令行实用程序还是某些 IDE 打包 JAR,这都适用。因此,首先检查带有标签等的文件是否采用 UTF8 编码。
您自己的 OS 可能有非 unicode 设置。因此,当您编辑和保存带有标签的 .properties(或其他)文件时,它们实际上并没有以 UTF8 格式保存。
如果你打包 "launchable" JAR,只要你在 JAR 中有 UTF-8 标签,它应该可以使用 UTF-8。
也看看这个问题:How to Force a jar to uses(or the jvm runs in) utf-8 instead of the system's default encoding