1. 程式人生 > >JAVA 編譯出現編碼GBK的不可對映字元(使用notepad++編輯器)

JAVA 編譯出現編碼GBK的不可對映字元(使用notepad++編輯器)

原因:

由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding引數指定我們的JAVA源程式的編碼格式,則javac.exe首先獲得我們作業系統預設採用的編碼格式

在編譯java程式時,若我們不指定源程式檔案的編碼格式

  • JDK首先獲得作業系統的file.encoding引數(它儲存的就是作業系統預設的編碼格式,如WIN2k,它的值為GBK)
  • 然後JDK就把我們的java源程式從file.encoding編碼格式轉化為JAVA內部預設的UNICODE格式放入記憶體中。
  • 然後,javac把轉換後的unicode格式的檔案進行編譯成.class類檔案,此時.class檔案是UNICODE編碼的,它暫放在記憶體中

對我們來說,我們最終獲得的.class檔案是內容以UNICODE編碼格式儲存的類檔案,它內部包含我們源程式中的中文字串,只不過此時它己經由file.encoding格式轉化為UNICODE格式了。當我們不加設定就編譯時,相當於使用了引數:javac -encoding gbk XX.java,當然就會出現不相容的情況。

解決方法

1.使用-encoding 指定字符集

javac -encoding utf-8 xx.java

2.把原始檔編碼修改成ASCII

這裡寫圖片描述

這裡寫圖片描述

相關推薦

JAVA 編譯出現編碼GBK不可對映字元使用notepad++編輯

原因: 由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding引數指定我們的JAVA源程式的編碼格式,則javac.exe首先獲得我們作業系統預設採用的編碼格式。 在編譯java程式時,若我們不指定源程式檔案的編碼格式 JDK首先獲得作業系

異常——cmd下javac錯誤:編碼GBK不可對映字元

在看菜鳥教程時候用記事本建立檔案,之後用notepad++編輯後,執行出現錯誤。   首先從資訊上知道這是編碼的問題了。開始試了下再notepad++上開啟檔案選擇標籤欄的“Encoding”中的“encoding in UTF-8”,然後儲存,沒效果。於是搜了下,找到兩個解決辦法。 http

java檔案編譯出現編碼 GBK不可對映字元

首先說明,本人用的是jdk8的版本,編輯器用的是notepad++,出現這樣的問題,一般是出現在註釋中,因為註釋用的是中文,容易出現編碼錯誤。 此時儲存前面已經完成的工作,複製已經編寫好的程式碼,並在選單欄的“格式”處單擊,選擇第一個編碼方式,也就是“以ANS

萬年曆-Java課程設計題eclipse編輯

專案目錄結構: `CalendarMainClass.java` package Calendar; /** * CalendarMainClass主類 * @author Administrator * @version 版本1.0 */ public

notepad++編輯Java程式碼,無法編譯出現錯誤:編碼GBK不可對映字元

所報錯誤:編碼GBK的不可對映字元 解決方案:  1.英文版notepad++    選單:Configure --> Options --> JDK Tools --> Compiler

java在命令列中編譯程式碼出現 錯誤: 編碼GBK不可對映字元

在編譯的時候,如果我們沒有用-encoding引數指定我們的JAVA源程式的編碼格式,則javac.exe會獲得我們作業系統預設採用的編碼格式。 JDK根據作業系統的file.encoding引數(它儲存的就是作業系統預設的編碼格式,如WIN2k,它的值為GBK),把源程式

編譯java檔案的時候報錯:錯誤:編碼GBK不可對映字元...

記錄一個小錯誤,當我們在編譯java原始檔的時候,可能會出現報錯。資訊提示:編碼GBK的不可對映字元…….. 如下: 這是因為什麼呢? 我們看錯誤提示的有行號,然後去程式碼中檢視會發現。報錯的位置都是中文。 找到原因了: 由於JDK是國際版的,在編譯的時候,如果我們沒有用-

CMD執行JAVA出現編碼GBK不可對映字元處理方法

出現這樣的錯誤,一般是因為程式碼中含有中文字元,註釋中的中文字元也算。由於使用CMD執行java程式的時候,系統預設的編碼格式是gbk。而包含中文字元的程式碼一般是UNICODE格式,所以直接執行含有中文字元的程式碼就很容易出現編碼錯誤。

maven編譯遇到"編碼GBK不可對映字元"警告的處理

環境 作業系統:win10 JDK:1.8.0_144 maven:3.5.0 問題 普通的maven工程,java原始碼註釋中有中文,如下: package com.bolingcavalry.addservice; /** * @author wilzhao *

CMD(命令提示符)-------javac編譯程式出現“”編碼GBK不可對映字元“”

問題描述:使用命令提示符(CMD)編譯寫好的java程式的時候出現“編碼GBK的不可對映字元” 問題截圖: 問題分析:看提示就知道是程式碼的註釋出現問題,但註釋格式完全正確,那麼問題就只可能是註釋編碼出現問題。 網上查了一下果然是註釋編碼出現問題。   由於JDK是國際版的,我們在用java

[Java]錯誤:編碼GBK不可對映字元解決辦法

1.前提:出現如下錯誤: >>>javac test1.java >>>test1.java:3: 錯誤: 編碼GBK的不可對映字元>>>          &n

maven編譯遇到"編碼GBK不可對映字元"警告的處理

環境 作業系統:win10 JDK:1.8.0_144 maven:3.5.0 問題 普通的maven工程,java原始碼註釋中有中文,如下: package com.bolingcavalry.add

java cmd執行提示:“錯誤:編碼GBK不可對映字元

原因是含有中文字元解決方法:加 -encoding UTF-8例: javac -encoding UTF-8 test.javajava testIDEA 或Eclipse   中選擇右鍵--》屬性裡面設定編碼格式

Gradle打包時出現警告:編碼 GBK不可對映字元的問題

  對於gradle2.0以前的版本,在build.gradle的最後加上 tasks.withType(Compile) { options.encoding = "UTF-8" } 對於gradle2.0以後的版本,在build.gradle的最後加上 tasks.withTyp

IntelliJ IDEA 12 編譯時報錯:“編碼GBK不可對映字元”,"未結束的字串字面值"和非法的型別開始

使用12版本時,匯入eclipse的程式碼會出現如上問題,想了一下應該是編碼問題。不羅嗦之間給出解決流程: Setting->File Encodings->IDE Encoding選擇utf-8,不要選擇“system default” 同時,Default

Gradle專案編譯報錯: 編碼 GBK不可對映字元

    今天找出許久未看的JAVA專案進行操作,也不知道是什麼原因,編碼竟然是GBK的,然鵝我的Eclipse預設編碼是UTF8,專案是可以執行的,但是中文各種錯亂,把所有檔案改成UTF8編碼後發現報錯“編碼 GBK 的不可對映字元”;最後通過修改build.gradle檔案

java實踐-解決"編碼GBK不可對映字元"

在windows下使用DOS模式編譯java檔案時,產生以下問題: 剛開始以為是由於編輯器的編碼格式導致的,通過不斷save、compile java檔案,發現與編輯器的編碼方式無關. 最後參考

通過cmd執行editplus建立的java檔案報錯 警告:編碼 GBK不可對映字元

我用Editplus寫了個Student.java檔案,然後通過cmd命令列進入到此檔案所在的目錄,執行:javac Student.java 結果報錯 :警告:編碼 GBK 的不可對映字元 網上找原

錯誤: 編碼 GBK不可對映字元

轉載:http://blog.csdn.net/whu_zhangmin/article/details/46468061 今天剛學習Android Studio這個IDE來寫程式碼,然後在程式碼中加了中文註釋導致無法編譯: 提示錯誤:“錯誤: 編碼 GBK 的不可對映

maven專案編碼GBK不可對映字元

解決方案 <!-- 指明編譯原始碼時使用的字元編碼,maven編譯的時候預設使用的GBK編碼, 通過project.build.sourceEncoding屬性設定字元編碼,告訴maven這個專案使用UTF-8來編譯 -->    <properties>