java - 将默认字符集更改为 UTF-8

标签 java maven utf-8 character-encoding

我有一个使用 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/

相关文章:

java - maven 部署期间自动生成 GnuPG key 不会导出 key

java - 如何从 NetBeans 运行 Gephi?

java - PHP - MySQL - Java - 确保字符集统一

json - 如何通过 HTTP 发送 Unicode JSON?

java - 十六进制字符串转十六进制

Java:如何在开关盒中初始化 int 数组?

java - maven 忽略了 uniqueVersion 标签

unicode - 什么是最好的 UTF

java - 如何在 Java 中修改 OpenOffice.org Draw 图表?

java - 如何计算处理时间?