當前位置:首頁 » 編程軟體 » javac編譯亂碼

javac編譯亂碼

發布時間: 2025-06-09 17:06:05

1. response.setContentType("text/html;charset=gbk"); 為什麼還是中文亂碼

這是因為:由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding參數指定我們的java源程序的編碼格式,則javac.exe首先獲得我們操作系統默認採用的編碼格式,也即在編譯java程序時,若我們不指定源程序文件的編碼格式,JDK首先獲得操作系統的file.encoding參數(它保存的就是操作系統默認的編碼格式,如WIN2k,它的值為GBK),然後JDK就把我們的java源程序從file.encoding編碼格式轉化為JAVA內部默認的UNICODE格式放入內存中。然後,javac把轉換後的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,這下沒警告了,運行也正確了在JCreator 4中設置:菜單:Configure --> Options --> JDK Tools --> Compiler,選中<Default>,然後選Edit,Parameters裡面,最前面添加:-encoding UTF-8。
Parameters原來的
默認值為:-classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
修改後為:-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]

2. JAVA 亂碼 根本原因是什麼

右鍵點擊亂碼文件,選preferenses,看看resource里的編碼是不是正確,虧攔搜如果不是utf-8就改成utf-8,衡或如果是utf-8的話你改成別的編碼試試看看,然後把正常狀態下的內容復制出來,在把文件改成utf-8後銷歷把文件復制進去

熱點內容
sublime運行php 發布:2025-06-09 21:46:06 瀏覽:779
搭建兆為單位的伺服器 發布:2025-06-09 21:38:48 瀏覽:958
演算法導論第二版中文 發布:2025-06-09 21:31:32 瀏覽:704
睿芽系統的初始密碼是多少 發布:2025-06-09 21:21:57 瀏覽:807
帳號或密碼錯誤什麼意思 發布:2025-06-09 21:07:09 瀏覽:746
java招標 發布:2025-06-09 20:57:58 瀏覽:705
內網伺服器搭建工具 發布:2025-06-09 20:43:19 瀏覽:560
碼雲源碼網 發布:2025-06-09 20:38:38 瀏覽:949
Linux驅動開發入門與實戰 發布:2025-06-09 20:19:46 瀏覽:27
安卓手機的sokey是什麼 發布:2025-06-09 20:19:38 瀏覽:340