当我用两个不同的项目运行下面的代码时,我得到不同的输出。
String myString = "Türkçe Karakter Testi : ?ü?iöç?Ü??ÇÖ?";
String value = new String(myString.getBytes("UTF-8"));
System.out.println(value);
Run Code Online (Sandbox Code Playgroud)
第一个项目是在 Netbeans 8.2 中创建的非 maven java 应用程序。它给了我我期望的以下结果。
“Türkçe Karakter Testi : ?ü?iöç?Ü??ÇÖ?”
第二个项目是 maven java 应用程序项目,它以与以下 pom.xml 文件相同的方式创建:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>mavenproject1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
Run Code Online (Sandbox Code Playgroud)
这个项目给了我:
"Türkçe Karakter Testi : ğüşiöçÄ?ÜİÅ?ÇÖÄ?”
我用记事本++检查了两个文件,它们都用UTF-8编码