不知怎的,我无法让我的UTF-8资源与Ant玩得很好.
我得到了很多"警告:编码ascii的不可映射的字符".我真的很疯狂.小时,小时和小时.顺便说一句,我注意到有5个人已经疯狂地使用了标签.:-)
是的,我已经读过这个,这个和其他人.Google也是(至少3个或4个不同搜索的前5页结果).有javac选项.我试过了.还有一些预设或东西(对不起,凌晨3点).也没用.
我正在使用Ant生成Android apk文件.我不能使用Eclipse,所以没有.顺便说一句,ant文档对我来说是胡言乱语.这些例子完全没用.我已经不记得我尝试了多少.
我尝试使用Dfile.encoding选项,尝试将其与CHCP 65001 Windows命令混合使用.做了所有的组合,它甚至让Ant(Javac我猜)停止吐痰错误,但它仍然没关系.我的代码仍然以垃圾carachters(一堆??而不是á,í等)结束.
我有一个测试用例(它实际上是一个集成测试),它使用包含斯堪的纳维亚字母的用户名登录.问题是当我从命令行运行Ant任务时,身份验证失败,因为编码不正确(它应该是UTF-8).当我从Eclipse运行它时,测试运行正常,但不是从命令行运行.到目前为止,我已经尝试在Ant目标中告诉Ant正确的编码:
<target name="run_tests">
<junit fork="no" haltonfailure="no">
<jvmarg value="-Dfile.encoding=UTF-8"/>
<formatter type="xml" usefile="true" />
<classpath refid="test.classpath" />
<test name="com.company.integration.AllIntegrationTests" />
</junit>
</target>
Run Code Online (Sandbox Code Playgroud)
从命令行:
ant -D"file.encoding=UTF-8" run_tests
Run Code Online (Sandbox Code Playgroud)
这些都不奏效.无论我做什么,测试仍然失败,测试报告说:
<property name="file.encoding" value="cp1252" />
Run Code Online (Sandbox Code Playgroud)
就像我说的,如果我从Eclipse运行它,一切都很美妙.我还注意到,如果我通过将编码更改为ISO-8859-1来修改Eclipse中的运行配置,则测试会像预期的那样失败.所以显然可以改变编码,但是你怎么做呢?