2013-10-19 53 views
2

它看起來像ant的echo命令不尊重build.xml的XML編碼。回聲的ant編碼不尊重build.xml設置

這build.xml中輸出該預期的事情(PI =π):

<?xml version="1.0" encoding="UTF-8"?> 
<project default="pi"> 
<target name="pi"> 
    <echo encoding="UTF-8">pi=π</echo> 
</target> 
</project> 

和這一個(不編碼對回波命令):

<?xml version="1.0" encoding="UTF-8"?> 
<project default="pi"> 
<target name="pi"> 
    <echo>pi=π</echo> 
</target> 
</project> 

輸出

pi =?

我正在使用設置爲UTF-8的mac Terminal.app,所以是文本編輯器。當然echo命令應該尊重XML文件的聲明編碼?我錯過了什麼嗎?

回答

1

有人可能會認爲它應該服從XML編碼,但如果你看看the documentation,它指出

編碼:使用編碼,默認爲「」;本地系統編碼。因爲Ant 1.7

所以如果你的默認系統編碼是UFT-8以外的東西,這可能是問題所在。

+0

看起來你是對的。這有點混亂。 – gubby

+0

你可以創建一個總是指定UTF-8的宏,如果你使用它很多 – Tobber