java中文亂碼的轉換方法:首先用編輯器編寫java原始檔;然後使用【javac.exe】編譯java文件,並使用JDK將編譯好的且保存在記憶體中資訊寫入class文件中;最後運行編譯類別。
java中文亂碼的轉換方法:
使用編碼轉換
#java編碼轉換過程
我們總是用一個java類別檔案和使用者進行最直接的互動(輸入、輸出),這些互動內容包含的文字可能會包含中文。無論這些java類別是與資料庫交互,還是與前端頁面交互,他們的生命週期總是這樣的:
1、程式設計師在作業系統上透過編輯器編寫程式碼並且以.java的格式保存作業系統中,這些檔案我們稱之為來源檔案。
2、透過JDK中的javac.exe編譯這些原始檔形成.class類別。
3、直接運行這些類別或部署在WEB容器中運行,得到輸出結果。
這些過程是從宏觀上面來觀察的,了解這個肯定是不行的,我們需要真正來了解java是如何來編碼和被解碼的:
第一步:當我們用編輯器編寫java來源文件,程式文件在儲存時會採用作業系統預設的編碼格式(一般我們中文的作業系統採用的是GBK編碼格式)形成一個.java
文件。 java原始檔是採用作業系統預設支援的file.encoding編碼格式儲存的。下面程式碼可以查看系統的file.encoding參數值。
System.out.println(System.getProperty("file.encoding"));
第二步:當我們使用javac.exe編譯我們的java檔案時,JDK首先會確認它的編譯參數encoding來確定原始碼字元集,如果我們不指定這個編譯參數,JDK首先會取得作業系統預設的file.encoding參數,然後JDK就會把我們寫的java原始程式從file.encoding編碼格式轉換為JAVA內部預設的UNICODE格式放入記憶體中。
第三步:JDK將上面編譯好的且保存在記憶體中資訊寫入class檔案中,形成.class檔案。此時.class檔案是Unicode編碼的,也就是說我們常見的.class檔案中的內容無論是中文字符還是英文字符,他們都已經轉換為Unicode編碼格式了。
在這一步驟中對對JSP原始檔的處理方式有點不同:WEB容器呼叫JSP編譯器,JSP編譯器首先會查看JSP檔案是否設定了檔案編碼格式,如果沒有設定則JSP編譯器會呼叫調用JDK採用預設的編碼方式將JSP檔案轉換為臨時的servlet類,然後再編譯為.class檔案並保持到臨時資料夾。
第四步:執行編譯的類別:在這裡會存在幾個情況
1、直接在console上執行。
2、JSP/Servlet類別。
3、java類別與資料庫之間。
這三種情況每種情況的方式都會不同
#相關免費學習推薦:java基礎教學
以上是java中文亂碼怎麼轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!