作为标题。我的许可证文件包含UTF-8字符,默认情况下,IzPack的LicensePanel似乎需要ASCII文本文件。
有解决方法吗?
更新
我尝试在资源行中使用“encoding”属性:
<res id="LicencePanel.licence" src="Licence.txt" encoding="utf-8"/>
它不起作用。
答案 0 :(得分:0)
我的LicencePanel.licence资源遇到了类似的问题。我的安装中也有InfoPanel.Info资源。我的信息文件(readme.txt)和许可证(licence.txt)都是纯文本格式。我运行安装时,我的编译器接受自述文件,但不接受许可文件。
也许这不是编码问题,因为两个文件的格式相同,但信息文件已被接受且许可证不是。
答案 1 :(得分:0)
看起来这不起作用。我查看了4.3.5的源代码,看起来这可能是一个bug。也许它是在未来版本中修复的。我查看了源代码,这就是问题所在。在LicencePanel.java中:
String resNamePrifix = "LicencePanel.licence";
licence = ResourceManager.getInstance().getTextResource(resNamePrifix);
ResourceManager有两种方法:
public String getTextResource(String resource, String encoding) throws ResourceNotFoundException, IOException
public String getTextResource(String resource) throws ResourceNotFoundException, IOException
正在使用第一个第二个,而应使用第一个。
编辑:刚刚检查了5.0.0-rc1,我认为问题也出现了。 (没有测试只是看了一下代码)。