我有一个使用 maven 构建器的 java 项目。现在我需要支持 UTF-8 字符集。我不知道为什么默认字符集 (Charset.defaultCharset()
) 总是 US-ASCII.
我将 Pom.xml 配置更改为 UTF-8(用于编码)并设置 -Dfile.encoding=UTF-8
但对于 Unicode 字符,输出始终为“?
”(例如 "Việt Nam"
=> Vi?t Nam
)。
我在Ant buidler上查过了,是UTF-8的字符。
这是我的 Pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<outputEncoding>UTF-8</outputEncoding>
<argLine>-Dfile.encoding=UTF-8</argLine>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>cucumber</id>
<phase>test</phase>
<configuration>
<executable>src/scripts/cucumber.sh</executable>
<commandlineArgs>${host} ${port} ${profile}</commandlineArgs>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
谢谢
更新 我的系统是
NetBeans 7.3.1 JDK 1.7 苹果操作系统 10.9.1
更新 我已经将IDE换成Intelij IDEA,问题没有了,但我不知道为什么。
最佳答案
先试试这个 <build>
<project xmlns="...">
...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.resources.sourceEncoding>UTF-8</project.resources.sourceEncoding>
</properties>
关于java - 将默认字符集更改为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21925545/