一个诡异的乱码问题

在Eclipse中直接Run得到的结果不是乱码(UTF-8编码)

而在Eclipse中使用Maven tomcat:run发现结果是乱码

通过new String(temp.toString().getBytes(可能的编码), "utf-8")的方式测试 知道乱码是因为采用了GBK编码

但项目工程设置的Text file encoding为UTF-8 为什么是GBK呢?

通过下面的代码知道在tomcat容器中file.encoding的编码仍然是GBK,所以修改Eclipse->Windows->Preferences->Workspace->Text file encoding为UTF-8 (只修改项目的编码还不行,如果单独使用tomcat容器 可能需要使用-Dfile.encoding参数的形式设置编码) 

Properties p = System.getProperties();
for (Map.Entry entry : p.entrySet()) {
System.out.println(entry.getKey() + "--->" + entry.getValue());
}

原文地址:https://www.cnblogs.com/cszzy/p/2852801.html