在build.xml中为ant指定带有日语字符的目录

时间:2011-09-29 22:23:35

标签: flex unicode ant build.xml

我有一个build.xml文件,它指定一个日语字符作为命令参数的目录。

<exec executable="${amxmlc_cmd}">
        <arg line="${amxmlc_opt}" />
        ...
        <arg line="-source-path+=Work/システム/_config_as" />
        ...
</exec>

其中

<condition property="amxmlc_cmd" value="cmd.exe">
        <os family="windows" />
</condition>
<condition property="amxmlc_opt" value='/c "${flex_sdk}bin/amxmlc"'>
        <os family="windows" />
</condition>

我收到错误“错误:无法打开'工作/ ???? / _ config_as”

我改为

<condition property="amxmlc_opt" value='/u/c "${flex_sdk}bin/amxmlc"'>
            <os family="windows" />
</condition>

但我得到同样的错误。

当我将windows非unicode程序默认改为日语时,我收到错误“错误:无法打开'工作/システム/ _config_as'”

非常感谢任何帮助。 谢谢你的进步。

1 个答案:

答案 0 :(得分:0)

那是蚂蚁,谁没有正确传递Unicode参数。 它仅在您将系统区域设置设置为日语并重新启动时才有效。 http://mihai-nita.net/2005/06/11/setting-the-user-and-system-locales/

===

更正:做了一些测试,这不是蚂蚁的错,它本身就是Java。 我已经尝试了Runtime.exec和ProcessBuilder.start,并且在将参数传递给子应用程序之前,它们似乎都将参数转换为ANSI。 (子应用程序是C,Unicode,并从C父级调用,Unicode,工作正常)

相当蹩脚,对于2011年(Java build 1.6.0_26-b03,在7中尝试会很有趣)