我有一个GUI菜单,项目,标签等应用程序。它们的可见名称包含unicode字符。现在,我需要用unicode字符正确显示此应用程序。如果我运行jar,java使用默认系统编码,而不是unicode。我可以通过将一个参数-Dfile.encoding = UTF-8添加到带有-jar <app.jar>
的命令行来解决此问题。但是,让我们说我想给某人一个jar,他可能会愚蠢地打开CMD并将一些参数传递给java。实际上,Java虚拟机是一个程序,启动参数做大事情。 Java应用程序在Java虚拟机中运行。由于manifest.mf将jvm参数传递给将要执行的程序的main方法的路径,为什么我们没有例如manifest.mf文件中的函数,这是一个arv数组,它将在jvm中使用正在运行应用我知道java更习惯于制作实用的东西,而GUI应用程序则有C,但java是一门伟大的语言,除了虚拟机的一些缺点之外。我对我的主程序有一个想法,它会用适当的参数打开新的java vm并在那里运行应用程序。然后,自杀。我也知道关于包装jar以exe文件,所以exe文件将运行jvm和应用程序,但后来我松散多平台压缩。感谢您的回答。希望我没有写在这里somethink无用。是否有可能运行我的应用程序编码unicode没有终端?
0
A
回答
0
几个问题在这里,但让我给你一个总体指导:
当你收拾一个JAR中,JAR文件的元数据,如条目名称,注释和清单的内容,必须以UTF8编码(对于标签等等)。无论您使用命令行工具还是某些IDE打包JAR,情况都是如此。所以首先检查你的带有标签等的文件是否是UTF8编码的。
您的操作系统可能有非Unicode设置。所以当你编辑和保存标签的.properties(或其他)文件时,它们实际上不会以UTF8保存。
如果您打包“可启动”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
+1
属性文件使用'ISO Latin-1'又名'ISO 8859-1'存储,参见['Properties.load'](http://docs.oracle.com/javase/8/docs/api/java/util /Properties.html#load-java.io.InputStream-)... – Holger
相关问题
- 1. 是否有可能让我的iOS应用程序的组件始终运行?
- 2. 是否有可能在java swing应用程序中运行osmdroid
- 3. 是否有可能在DOS 6.22中运行Java应用程序?
- 4. 是否有可能在windows azure上运行windows应用程序
- 5. 是否有可能在启动时运行AIR应用程序?
- 6. 通过我的应用程序运行没有终端的守夜?
- 7. 是否有Golang终端外壳?编译语言是否可能?
- 8. 是否有可能在没有“编辑”菜单项的可可应用程序中具有“编辑”功能?
- 9. 是否有可能从android应用程序运行android应用程序?
- 10. 是否有可能将正在运行的应用程序“转移”到另一个终端/用户?
- 11. 是否有可能在运行时反编译程序
- 12. 当我执行我的Android应用程序,是否有可能知道多少内存占用运行程序
- 13. 我想运行一个程序,而不使用终端 - 是否有可能?怎么样?
- 14. 是否有可能编译.NET 2个WinForms应用程序对.NET 4运行,如果没有安装.NET 2?
- 15. 是否可以使用终端在仪器中运行iOS应用程序?
- 16. 我的应用程序没有运行,但没有错误
- 17. 是否有可能在没有main的情况下运行Java程序()
- 18. 是否有可能将Cocos2d iphone整合到我编码的现有程序中?
- 19. 是否有可能检查一个Angular应用程序是否已经运行应用程序模块?
- 20. 如何在没有终端的Windows中运行py2exe程序?
- 21. 是否有可能在C#中为Android编写应用程序?
- 22. 是否有可能在android应用程序中注入代码?
- 23. 是否有可能在Heroku上为Facebook应用程序运行一个进程?
- 24. 是否有可能通过android应用程序更改unicode的字体
- 25. 是否有可能停止执行运行asp程序?
- 26. 是否可以在没有GNOME的情况下运行GTK +应用程序?
- 27. 是否有可能编译运行时没有运行库lib的代码?怎么样?
- 28. 是可以跟踪即使应用程序没有运行
- 29. 是否有可能终止正在运行的web worker?
- 30. 是否有可能没有使用预览布局的相机应用程序?
“为GUI应用有C” - 大LOL。但是,严肃地说,你应该读取属性'file.encoding'的名字并且一遍又一遍地阅读它,考虑它想要告诉你什么。在你多次读取名字后,它是否仍然让你感到惊讶,当我现在告诉你它与GUI没有任何关系时? – Holger
是的,我明白了。我只想说,通过在C中编写应用程序,我可以完全控制我的程序,并且虚拟机不会限制我。我想如果我有CLI应用程序,我应该定义我的自定义流和编码。但是如何在GUI中使用一些库。 –
看来你还是不明白这一点。没有理由混淆这个属性;它与GUI应用程序完全无关。 GUI库使用unicode。如果你没有在你的代码中指定一个编码*,那么这个相关的唯一地方就是(文件)I/O *。没有函数会强制您使用系统的默认编码,对于处理该默认编码的每个函数,都有一个接受编码作为参数的替代方法。如果您的应用程序不想使用默认编码,则不需要。你的问题是*不*你有一个GUI。 – Holger