Encoding 如何在Ant中将属性值从UTF8转换为ascii
假设我有一处房产Encoding 如何在Ant中将属性值从UTF8转换为ascii,encoding,ant,Encoding,Ant,假设我有一处房产 ${test}=íñü 在Ant中,是否有方法将此属性值转换为\uxxx 我知道Ant可以使用native2ascii转换文件 财产价值如何 更新:我问这个问题的原因是因为我想在ant中运行一个bat文件,bat文件的路径包含一些非Ascii字符: ${test}=íñü <target name="help"> <exec executable="cmd"> <arg value="/c"/> &l
${test}=íñü
在Ant中,是否有方法将此属性值转换为\uxxx
我知道Ant可以使用native2ascii转换文件
财产价值如何
更新:我问这个问题的原因是因为我想在ant中运行一个bat文件,bat文件的路径包含一些非Ascii字符:
${test}=íñü
<target name="help">
<exec executable="cmd">
<arg value="/c"/>
<arg value="${test}.bat"/>
<arg value="-p"/>
</exec>
</target>
${test}=íñü
错误是系统找不到路径。我认为这与路径的编码方式有关。但是,从UTF8到ASCII的转义路径无助于解决此问题请使用
此示例从test
设置属性test2
:
<property name="test" value="íñü" />
<loadresource property="test2">
<string value="${test}" />
<filterchain>
<escapeunicode/>
</filterchain>
</loadresource>
<echo encoding="utf8" message="'${test}' maps to '${test2}'" />
loadresource
任务需要Ant 1.7或更高版本。太好了。谢谢。它起作用了。我问这个问题的原因是因为我有另一个问题。但这似乎最终并不能帮助我解决另一个问题。请看我更新的帖子,我现在手头没有一台windows机器可以实验。你能从一个简单的.bat文件中得到同样的结果吗?可能是Java文件.encoding与操作系统的不匹配-可能是windows希望使用CP-1252?您的意思是从cmd运行.bat吗?它可以工作,但是cmd无法显示文件名,我的意思是从另一个批处理文件运行íñü.bat,该批处理文件使用utf-8编码。但听起来它可能很管用。。。就像我说的,我没有操作系统来调查这件事。
[echo] 'íñü' maps to '\u00ed\u00f1\u00fc'