Windows上的Ant编码问题-UTF-8文件,但在变音符号上吐了垃圾


问题内容

不知何故,我无法让UTF-8源代码与Ant一起玩得很好。

我收到很多“警告:编码ascii的不可映射字符”。我真的要疯了。数小时,数小时,数小时。顺便说一句,我注意到已经有5个人使用了该标签。:-)

是的,我已经阅读了thisthis和其他内容。Google也(至少5个或4个不同搜索的前5个页面结果)。有javac选项。我试过了。还有一些预设或其他东西(对不起,凌晨3点)。也没用。

我正在用Ant生成Android
apk文件。我不能使用Eclipse,所以不可以。顺便说一句,蚂蚁文档对我来说是胡说八道。这些例子根本没有用。我已经不知道自己尝试了多少。

我尝试使用Dfile.encoding选项,并尝试将其与CHCP 65001
Windows命令混合使用。完成所有组合,甚至使Ant(我想是Javac)停止吐出错误,但这仍然没有关系。我的代码仍然以垃圾搬运工结尾(用一堆??代替á,í等)。


问题答案:

对于所有在Windows上使用UTF-8源文件并试图使用Proguard借助Dan Galpin / Tim
Bray着名的博客文章
构建Android软件包的所有人。

javac会发生这种编码问题( 感谢技巧JesperE
)。但是,由于所需的参数我一无所知,因此无法在项目的文件上创建新的javac规则。因此,这是简单的答案(可能不是唯一的答案):

  1. 尝试通常的“ ant release”命令。
  2. 请注意,一开始,有一个输出在谈论一些导入的ANT规则。一开始,您将看到一些[设置]规则。寻找这个:

[设置]导入规则文件:tools \ ant \ ant_rules_r3.xml

  1. 找到该文件并打开它。搜索“ javac编码”。您将看到将其设置为“ ascii”。更改为“ UTF-8”。

  2. 再次执行“蚂蚁释放”,一切都会好起来的。

这就是我在这里所做的。我确定有一种方法可以根据每个项目进行覆盖。但是,正如我所说的那样,它始终使我在强制参数上出现错误。所以
至少对我来说这样做容易得多 。此外,无论如何,我只使用UTF-8。