Encoding 如何在Ant中编码

Encoding 如何在Ant中编码,encoding,ant,Encoding,Ant,我有一个测试脚本: <?xml version="1.0" encoding="UTF-8"?> <project name="test" basedir="."> <echo encoding="UTF-8" file="test.txt">测试</echo> </project> 测试 当我打开test.txt时。我只看到“?” 更奇怪的事。脚本使用EclipseAnt工具运行时没有问题,但命令行有问题

我有一个测试脚本:

   <?xml version="1.0" encoding="UTF-8"?>
   <project name="test" basedir=".">
   <echo encoding="UTF-8" file="test.txt">测试</echo>
   </project>

测试
当我打开test.txt时。我只看到“?”

更奇怪的事。脚本使用EclipseAnt工具运行时没有问题,但命令行有问题

Eclipse和cmd都使用相同的Ant库。

使用以下编码:

 <echo encoding="UnicodeLittleUnmarked" file="test.txt">测试</echo>
测试
您将在文件中得到正确的结果。

我找到了原因

在运行Ant脚本之前,我需要设置一个系统属性:

Set ANT_OPTS=-D"file.encoding=UTF-8"
然后


测试
即使回显中没有编码,也会成功运行


有人能告诉我为什么原始脚本不起作用吗?

您的测试脚本保存在什么编码中,您如何打开
test.txt
?脚本保存在UTF-8中。我正在UTF中打开test.txt-8@performanceuser不,事实上它确实有效。从命令行或任何其他工具调用ant脚本。您尝试使用什么编辑器查看生成的文件?我尝试使用notepad++和eclipse打开。我专门将编码更改为utf-8,但您应该专门将eclipse设置为utf-16:)。我可以在eclipse和visual studio中正确地看到它。cmd到底是什么?您是否尝试将UTF-16显示为cmd?不,我的意思是,当我尝试从cmd运行ant时,生成的test.txt文件无法正确显示。然而,当我在eclipse中运行它时,生成的test.txt文件是goodQuestions,而不是answers。如果您需要更新您的问题,请这样做。不要试图在回答中问更多的问题。
<project name="test" basedir=".">
   <echo file="test.txt">测试</echo>
</project>