Ant替换任务会破坏UTF-8文件中的符号

时间:2011-11-14 07:26:58

标签: java encoding ant utf-8

我有以下蚂蚁任务:

<target name="test">
    <replace file="test.txt" token="smth" value="anything"/>        
</target>

test.txt是UTF-8编码的。问题是当我运行这个任务时 它破坏了一些UTF-8符号(只有少数符号,而不是全部符号) 我试过使用ant -Dfile.encoding=UTF-8 -buildfile=build.xml
并指定build.xml编码<?xml version="1.0" encoding="UTF-8">
但问题仍然存在。

如何使用UTF编码的文件使我的Ant任务正常工作?

1 个答案:

答案 0 :(得分:8)

来自docs for the replace task,在属性列表中:

  

属性:编码
  描述:替换操作的文件的编码   默认值:否 - 默认为默认JVM编码

所以它使用平台默认编码。如果您希望它使用UTF-8,只需将您的呼叫更改为:

    <replace file="test.txt" token="smth" value="anything" 
             encoding="UTF-8" />