java在命令列中編譯程式碼出現 錯誤: 編碼GBK的不可對映字元
在編譯的時候,如果我們沒有用-encoding引數指定我們的JAVA源程式的編碼格式,則javac.exe會獲得我們作業系統預設採用的編碼格式。
JDK根據作業系統的file.encoding引數(它儲存的就是作業系統預設的編碼格式,如WIN2k,它的值為GBK),把源程式從預設編碼格式轉化為JDK內部預設的UNICODE格式放入記憶體中。然後把轉換後的unicode格式的檔案進行編譯成.class類檔案,此時.class檔案是UNICODE編碼的,它暫放在記憶體中,最後JDK將此以UNICODE編碼的編譯後的class檔案儲存到我們的作業系統中形成我們見到的.class檔案。
對我們來說,我們最終獲得的.class檔案是內容以UNICODE編碼格式儲存的類檔案,它內部包含我們源程式中的中文字串,只不過此時它己經由file.encoding格式轉化為UNICODE格式了。當我們不加設定就編譯時,相當於使用了引數:javac -encoding gbk XX.java,當然就會出現不相容的情況。
解決辦法:使用-encoding引數指明編碼方式:javac -encoding UTF-8 XX.java
相關推薦
java在命令列中編譯程式碼出現 錯誤: 編碼GBK的不可對映字元
在編譯的時候,如果我們沒有用-encoding引數指定我們的JAVA源程式的編碼格式,則javac.exe會獲得我們作業系統預設採用的編碼格式。 JDK根據作業系統的file.encoding引數(它儲存的就是作業系統預設的編碼格式,如WIN2k,它的值為GBK),把源程式
異常——cmd下javac錯誤:編碼GBK不可對映字元
在看菜鳥教程時候用記事本建立檔案,之後用notepad++編輯後,執行出現錯誤。 首先從資訊上知道這是編碼的問題了。開始試了下再notepad++上開啟檔案選擇標籤欄的“Encoding”中的“encoding in UTF-8”,然後儲存,沒效果。於是搜了下,找到兩個解決辦法。 http
在linux命令列中編譯和執行java檔案
同時載入編譯多個jar包和java檔案 在個人平常使用或者當我們把程式碼部署到linux伺服器上的時候,我們經常需要通過命令列編譯和執行java檔案,網上關於這個的方法大多是通過 javac -cp filePath/jarName.jar j
cmd命令對java程序進行編譯時出現:編碼GBK的不可映射字符
原因 格式轉化 ava str cmd命令 轉化 code 有用 unicode 原因:由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding參數指定JAVA源程序的編碼格式,則java.exe首先獲得我們才做系統默認采用的編碼格式,也即在編譯JAVA程序時,
關於命令列中javac 編譯成功,用 java 執行 class 檔案出現 “ 找不到或無法載入主類 ” 的問題
javac編譯成功,用java執行class檔案出現“找不到或無法載入主類”的問題所在 學習android,順便又學習下java. 在這裡推薦Mars老師的視訊,很好用,無論是Java4Android還是Android開發系列視訊教程都很好http://www.marschen.com/ 入門就遇到這樣的問
今天遇到一個開心事,在eclipse編寫的程式碼在命令視窗中編譯後無法執行,提示 “錯誤: 找不到或無法載入主類”
java中帶package和不帶package的編譯執行方式是不同的。 首先來了解一下package的概念:簡單定義為,package是一個為了方便管理組織java檔案的目錄結構,並防止不同java檔案之間發生命名衝突而存在的一個java特性。不同package中的類的名字可以相同,只是在使用時要帶上pac
notepad++編輯器寫Java程式碼,無法編譯出現錯誤:編碼GBK的不可對映字元
所報錯誤:編碼GBK的不可對映字元 解決方案: 1.英文版notepad++ 選單:Configure --> Options --> JDK Tools --> Compiler
java中從命令列讀取引數+程式碼
在你配好JDK環境變數的前提下在命令提示符中(cmd.exe)輸入,java ClassName parameter這就是在編譯時象ClassName檔案傳遞引數的方式,parameter為引數實體,可以用空格來傳遞多個引數,該引數會傳遞到public static voi
命令列下面編譯執行eclipse中編寫的帶有包名的java檔案
在eclipse下寫的java檔案都會帶有包名,有時候想要到命令列下面執行eclipse中編輯好的java檔案時。由於帶有包名用一般的編譯,執行方法會報錯: 錯誤: 找不到或無法載入主類 t201707
在cmd中java命令列編譯執行多個java檔案
一.環境:1. linux2. 有兩個java類,A.java和B.java,都在同一個目錄下二.原始碼:A.javapackage com.abc; public class A { public static void test() { Syste
在命令列中執行 java 程式
一,首先進入檔案所在的目錄,我的 FrequencyCounter(統計字元出現頻率最高的詞) 程式放在桌面, 所以使用 cd desktop 就可,你們的是 cd 路徑名。 二,然後使用 javac FrequencyCounter.java 生成 .class 可執行檔案
使用命令列視窗編譯和執行java檔案
1.使用記事本或者編輯器寫一個HelloWorld.java檔案 public class HelloWorld{ public static void main(String[] args){ System.out.print
命令列下編譯C#程式碼
C#斷斷續續的學習過,但是基礎不紮實,所以特地開個部落格,監督自己,在學習過程中遇到的攔路虎,我都會記錄下來,希望跟大家一起共勉。 環境visual studio2012,框架.net4.0, 在看C#例項教程過程中,有提到使用命令列來編譯程式,還提到c
考慮以下 Python 程式碼,如果執行結束,命令列中的執行結果是什麼?
l = [] for i in xrange(10): l.append({‘num’:i}) print l在考慮以下程式碼,執行結束後的結果是什麼? l = [] a = {‘num’:0} for i in xrange(10): a[‘num’] = i l.append(a) prin
java命令列編譯class檔案及打包jar
編譯: cmd = "javac -classpath /I:/apache-tomcat-7.0.34/webapps/project/WEB-INF/classes/../temp/com/hongshao/classpath.jar -d /I:/apache-tomc
VS中編譯專案出現找不到目標exe的錯誤
無論是在VS或者QtCreator等IDE中,肯定會出現“無法找到執行檔案exe”的錯誤,一般造成這種錯誤的原因是,有正在執行的exe,形成衝突,關閉這個exe即可。 但有時候,你會發現即使沒有正在執行
windom 下cmd命令列中出現“powershell”不是內部或外部命令,也不是可執行的程式或批處理檔案問題解決
win+R 輸入sysdm.cpl 開啟系統設定 點選高階-》環境變數 在系統變數中檢視path變數,點選編輯 複製出變數值,檢視是否有%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
在命令列下編譯通過,執行時提示錯誤:找不到或無法載入主類的原因分析與解決方式
有時候我們需要直接用jdk提供的java命令來執行class檔案讓軟體執行起來,特別是很多初學者,但經常會發現如下提示: 用eclipse或用ant則沒有問題。 其實原因很簡單,我們忽略了2個細節。 1.java指令預設在尋找class檔案的地址是通過CLASSPATH環境變數中指定的目錄中尋找的。 2.
在命令列中使用wsimport命令在MyEclipse中生成webservice檔案,無法生成,出現directory not found這種情況
錯誤原因,在命令列中輸入地址,不能帶有空格。 錯誤做法: 不要直接把空格刪了,因為路徑中帶有空格。 如果刪除了路徑,仍然找不到路徑。 正確做法: 1、在D盤(或者其他),新建一個資料夾 2、開啟MyEclipse的時候選中這個資料夾
VC++編譯程式碼出現LNK2005錯誤的一種情況的解決
在一個VC控制檯應用程式中,加入對ADO的引用,編譯後,出現如下錯誤提示, 1>MSVCRTD.lib(MSVCR120D.dll) : error LNK2005: __beginthreadex 已經在 libcmtd.lib(threadex.obj) 中定義