Native2Ascii任务不工作



我试图使用native2ascii蚂蚁任务,但似乎没有做任何事情。这是我的第一个任务:

<target name="-pre-init">
        <native2ascii src="src/com/bluecubs/xinco/messages" dest="src/com/bluecubs/xinco/messages/test" 
        includes="**/_*.properties"/>
        <copy todir="src/com/bluecubs/xinco/messages">
            <fileset dir="src/com/bluecubs/xinco/messages/test"/>
        </copy>
        <delete dir="src/com/bluecubs/xinco/messages/test" />
</target>

我做了复制部分,看看是否有覆盖问题,但文件出来完全相同。

这是我运行任务时得到的输出:

Converting 12 files from Z:NetbeansXinco2.01.xxXincosrccombluecubsxincomessages to Z:NetbeansXinco2.01.xxXincosrccombluecubsxincomessagestest
Copying 12 files to Z:NetbeansXinco2.01.xxXincosrccombluecubsxincomessages
Deleting directory Z:NetbeansXinco2.01.xxXincosrccombluecubsxincomessagestest
编辑:

附加信息:操作系统:Windows 7(但答案应该适用于任何OD)文件编码:本文获得的Western (ISO-8859-1)。

文件位置

任何想法?

native2ascii将本地字符(如áéí)转换为转义的unicode序列。这意味着á将是u00e1, é -> u00e9í -> u00ed。运行native2ascii后,你的文件将是标准的ASCII文件,更便于移植。

native2ascii不会触及已经以转义unicode形式存在的字符。您的属性文件已经是转义的unicode形式,所以它不会改变任何东西。例如,_XincoMessages_cz.properties包含这一行:

general.accessrights=opru00E1vnenu00ED k pru00EDstupu

转义unicode。非转义的unicode格式如下:

general.accessrights=oprávnení k prístupu

写字板vs. Netbans:当你用写字板打开属性文件时,它会打开一个简单的文本文件,并显示u00e1u00e1。它不会将其转换回á。Netbeans做了这个转换,你会看到' '字符。此外,当您保存文件时,它将它作为u00e1(!)写回磁盘。要查看原始文件,例如使用Total或Double Commander,它们不做任何转换。(注意,Netbeans只对属性文件进行这种转换。)

如果你把一个á字符放到你的_XincoMessages_cz.properties文件中,如果你运行你的ant任务,它将被更改为u00e1。当然,现在不要使用Netbeans进行编辑,一个简单的记事本就可以了。

在java中加载属性文件将转义的unicode字符转换为真正的unicode字符。一个例子:

final Reader inStream = new FileReader("..../_XincoMessages_cz.properties");
final Properties properties = new Properties();
properties.load(inStream);
System.out.println(properties.getProperty("general.accessrights"));

它打印:

oprávnení k prístupu

java应用程序通常可以很好地处理属性文件中的ASCII/转义unicode格式。最后,我认为你的属性文件在目前的格式下是好的。

这是一个视图问题。在原始编辑器(即写字板)中查看文件显示,这些文件已经被任务转换。从NetBeans查看它们显示它们是相同的。

相关内容

  • 没有找到相关文章

最新更新