Java中的编码乱码问题
Posted niaomingjian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的编码乱码问题相关的知识,希望对你有一定的参考价值。
1. Eclipse的Run Configurations中,可以配置Console的Encoding
Eclipse中使用 mvn clean package命令来执行。
设置为MS932时,下面的代码,①是logback的logger输出,②是System.out的输出,③是Junit的断言。
public void testApp() { assertTrue(true); LOGGER.warn("LOGGER.warn TestAppTest:モック機能が動作しています。"); System.out.print("System.out.print TestAppTest:モック機能が動作しています。"); String str = "str"; Assert.assertNull("nullではありません。", str); }
得到的结果, ①、②、③都OK:
设置为UTF-8时,得到的结果,只有③是OK的:
Eclipse中使用 Junit相关命令来执行,得到的结果都是OK的。没有乱码。似乎和Encoding配置无关。
2.Git Bash中可以设定其编码 Character set
Git Bash中执行mvn clean package.
编码为SJIS时, ①、②、③都OK
编码为UTF-8时, ①、②、③都NG
Question:
1.Eclipse Console和Git Bash Console执行得到的结果为什么不一样?也就是乱码的地方不一样?
=>原因可能就是两个Console的编码设置得不一样。
2.两个Console的编码设置为一样后,得到的乱码依然有不一样的地方,为什么???(TODO)
都设为UTF-8时,
Git Bash,③是NG。
Eclipse,③是OK。
TODO
Links: GitHub Source
以上是关于Java中的编码乱码问题的主要内容,如果未能解决你的问题,请参考以下文章