如何在Ant中将属性值从UTF8转换为ascii

时间:2011-10-11 22:01:51

标签: encoding ant

假设我有一个属性

${test}=íñü

在Ant中,有没有方法将此属性值转换为\ uxxxx?

我知道Ant可以使用native2ascii转换文件。

房产价值怎么样?

更新:我问这个问题的原因是因为我想在ant中运行bat文件,bat文件的路径包含一些非Ascii char:

${test}=íñü
<target name="help">
    <exec executable="cmd">
        <arg value="/c"/>
        <arg value="${test}.bat"/>
        <arg value="-p"/>
    </exec>
</target>

错误是系统无法找到路径。我认为它与路径的编码方式有关。但是逃避从UTF8到ASCII的路径无助于解决问题

1 个答案:

答案 0 :(得分:1)

loadresource taskencoding filter一起使用。

此示例从test2

设置属性test
<property name="test" value="íñü" />
<loadresource property="test2">
  <string value="${test}" />
  <filterchain>
    <escapeunicode/>
  </filterchain>
</loadresource>
<echo encoding="utf8" message="'${test}' maps to '${test2}'" />

结果:

[echo] 'íñü' maps to '\u00ed\u00f1\u00fc'

loadresource任务需要Ant 1.7或更新版本。