我有一个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'”
非常感谢任何帮助。 谢谢你的进步。
答案 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中尝试会很有趣)