Java中的編碼亂碼問題

1. Eclipse的Run Configurations中,能夠配置Console的Encodingjava

 

Eclipse中使用 mvn clean package命令來執行。git

 設置爲MS932時,下面的代碼,①是logback的logger輸出,②是System.out的輸出,③是Junit的斷言。github

  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的:spa

Eclipse中使用 Junit相關命令來執行,獲得的結果都是OK的。沒有亂碼。彷佛和Encoding配置無關。3d

2.Git Bash中能夠設定其編碼 Character setcode

Git Bash中執行mvn clean package.blog

編碼爲SJIS時, ①、②、③都OKip

編碼爲UTF-8時, ①、②、③都NGget

 Question:

1.Eclipse Console和Git Bash Console執行獲得的結果爲何不同?也就是亂碼的地方不同?

=>緣由可能就是兩個Console的編碼設置得不同。

2.兩個Console的編碼設置爲同樣後,獲得的亂碼依然有不同的地方,爲何???(TODO)

都設爲UTF-8時,

Git Bash,③是NG。

Eclipse,③是OK。

TODO

 

 

 

Links: GitHub Source

相關文章
相關標籤/搜索