【发布时间】:2009-08-17 23:24:00
【问题描述】:
上周我一直在试图弄清楚为什么我新采用的应用程序正在做的一些流解码给我带来了一些主要的编码问题。最后我发现问题在于使用 Ant 构建并部署到服务器的 JAR/WAR 是使用 javac 任务使用编码 UTF-8 而不是系统默认的 CP1252 编译的。
这似乎主要是由于这些特殊字符有许多硬编码的字符串/字符。
这很容易通过以下任一步骤解决:
- 将 Eclipse 项目的编码更改为 UTF-8 以匹配服务器上的字节码
- 将 javac 任务的编码设置为 CP1252 以构建 WAR 文件以匹配客户端字节码
- 奇怪的是,只在命令提示符下运行 Ant 没有指定任何编码。
那么为什么 Eclipse 中的 Ant 会改为 UTF-8?这是可配置的吗?在哪里配置?
系统
- Windows XP
- Eclipse 3.5
- 蚂蚁 1.7.1
- Java 1.6.0_11
【问题讨论】:
-
问题要同时解决四个地方:stackoverflow.com/a/34225997/715269