當前位置:首頁 » 編程軟體 » javac編譯兼容編碼格式

javac編譯兼容編碼格式

發布時間: 2023-08-12 05:09:37

1. 對utf-8編碼下的java文件如何編譯

其實我也遇到你說的問題,但是很遺憾,除了藉助Notepad++打開,然後在菜單「格式」中選擇「以UTF-8 無BOM格式編碼」,然後保存,這時候就可以指定編碼了,更乾脆的做法是直接在eclipse裡面編輯,編輯之前,先設置工作空間為UTF-8,這樣,後續創建的文件就會以UTF-8編碼編譯。

2. java中編碼與解碼分別指什麼

java中編碼:URLEncoder.encode(strUri,"utf-8");

java中解碼碼:URLDecoder.decode(strUri,"utf-8");

3. 如何用java以及javac編譯工程

一、javac命令
javac 用於編譯Java文件,格式為:
java [options] [sourcefiles] [@files]
其中:
options:命令行選項;
sourcefiles:一個或多個要編譯的源文件;
@files:一個或多個對源文件進行列表的文件,有時候要編譯的文件很多,一個個敲命令會顯得很長,也不方便修改,可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進行編譯,對編譯一個工程很有用,方便,省事。
有幾個比較重要的選項:
-d 用於指定編譯成的class文件的存放位置,預設情況下不指定class文件的存放目錄,編譯的class文件將和源文件在同一目錄下;
-classpath 可以簡寫成-cp,用於搜索編譯所需的class文件,指出編譯所用到的class文件的位置,如jar、zip或者其他包含class文件的目錄,指定該選項會覆蓋CLASSPATH的設定;多個路徑可用分號「;」分隔,linux系統上用冒號「:」分隔,看具體情況,反正不是冒號「:」,就是分號「;」,報錯了改下。
-sourcepath用於搜索編譯所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目錄;
需要注意windows下和linux下文件路徑分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的區別:
windows下文件路徑分隔符用 \ ,文件列表分隔符用分號 ;
linux下文件路徑分隔符用 / ,文件列表分隔符用冒號 :
二、java命令
java 用於執行程序,格式如下:
java [options] classfile
options:命令行選項,一般用於 -classpath 指定要執行的文件所在的位置以及需要用到的類路徑,包括jar、zip和class文件目錄,會覆蓋CLASSPATH的設定
三、腳本
如果要敲的命令很長,每次要編譯運行的時候都要重新敲一遍,這是一件很痛苦的事情,所以用腳本可以大大方便你的工作 量。在linux下用shell腳本,windows下用bat批處理程序。因為是在linux下,我這里只是簡單介紹一下shell,關於bat批處理 程序的語法自己網路一下,不難。
1. 開頭
linux有很多不同的shell,通常使用bash(bourne again shell),程序必須以下面的行開始:
#!/bin/sh
#!用來告訴系統用後面的參數來執行程序,這里使用的是/bin/sh
要使你的腳本能夠執行,還必須讓這個文件有可執行許可權,使用下面命令更改文件許可權:
chmod +x filename
2. 注釋
以#開始的句子表示注釋,一直到這行結束,多寫注釋有利於以後重新看的時候知道自己在做什麼
3. 變數
shell的腳本的變數都是字元串,不用申明類型,定義的時候直接 變數=值 即可,用到變數的的時候用 $變數 或者 ${變數},echo命令用於列印,舉個例子:
#!/bin/sh
# 定義變數words,值為hello world
words="hello world"
# 列印變數words的值
echo $words
4. 命令
shell腳本裡面可以直接任意使用linux命令,要用到什麼命令直接敲進去即可。記住一些常用的命令:
cd 打開目錄
ls -l 顯示目錄信息
rm -fr 遞歸刪除目錄及下面的文件,不提示信息
mkdir 創建目錄
pwd 顯示當前路徑
kill -9 pid 強制殺掉某個進程號的進程
pkill 殺掉某個名字的進程
ps aux 顯示運行進程信息
netstat -pan 查看網路埠監聽情況

4. 怎麼修改java配置的編譯環境的編碼

下載JDK
首先我們需要下載java開發工具包JDK
下載後JDK的安裝根據提示進行,還有安裝JDK的時候也會安裝JRE,一並安裝就可以了。
安裝JDK,安裝過程中可以自定義安裝目錄等信息,例如我們選擇安裝目錄為 C:\Program Files (x86)\Java\jdk1.8.0_91。
配置環境變數
1.安裝完成後,右擊"我的電腦",點擊"屬性",選擇"高級系統設置";
2.選擇"高級"選項卡,點擊"環境變數";
在"系統變數"中設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊"編輯",不存在則點擊"新建"。
變數設置參數如下:
變數名:JAVA_HOME
變數值:C:\Program Files (x86)\Java\jdk1.8.0_91 // 要根據自己的實際路徑配置
變數名:CLASSPATH
變數值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //記得前面有個"."
變數名:Path
變數值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
JAVA_HOME 設置
這是 Java 的環境配置,配置完成後,你可以啟動 Eclipse 來編寫代碼,它會自動完成java環境的配置。
注意:如果使用1.5以上版本的JDK,不用設置CLASSPATH環境變數,也可以正常編譯和運行Java程序。
測試JDK是否安裝成功
1、"開始"->"運行",鍵入"cmd";
2、鍵入命令: java -version、java、javac 幾個命令,出現以下信息,說明環境變數配置成功;

5. 關於java編程的GBK和UTF-8字元集問題

你用javac -encoding UTF-8 Exerc02.java能正常輸出, 說明你的java文件的編碼是utf8
你用javac Exerc02.java編譯出錯, 說明你的系統默認編碼不是utf8
推測你應該是window系統吧
記事本打開Exerc02.java文件, 文件另存為-->選擇編碼ANSI保存
然後javac Exerc02.java就可以編譯了

6. java編碼理解

<%@ page contentType= text/ charset=utf pageEncoding= GBK %>

jsp頁面(pageEncoding)——根據pageEncoding的設定讀取jsp——>翻譯成統一的UTF JAVA源碼(即 java)——由JAVAC的JAVA源碼至java byteCode的編譯——>

編譯成UTF encoding的二進制碼(即 class)——Tomcat(或其的application container)載入和執行階段二的來的JAVA二進制碼——>輸出contentType編碼給瀏覽器

頁面輸入的參數用pageEncoding來編碼

頁面的默認編碼是什麼?

ntentType的默認編碼是什麼?

編碼和解碼過程各種文件時什麼編碼

response setContentType( text/ charset=gb ) 是在頁面顯示時設置的字元格式request setCharacterEncoding( gb ) 是servlet接受請求後對請求中的字元進行設置字元格式 因為默認通過網路傳輸的內容都被進行了iso 編碼 如果想在後處理的時候不讓中文成亂碼 那就得對得到的內容進行gb 編碼

JSP pageEncoding和contentType屬性

JSP要經過兩次的 編碼 第一階段會用pageEncoding 第二階段會用utf 至utf 第三階段就是由Tomcat出來的網頁 用的是contentType

關於JSP頁面中的pageEncoding和contentType兩種屬性的區別

pageEncoding是jsp文件本身的編碼

contentType的charset是指伺服器發送給客戶端時的內容編碼

JSP要經過兩次的 編碼 第一階段會用pageEncoding 第二階段會用utf 至utf 第三階段就是由Tomcat出來的網頁 用的是contentType

第一階段是jsp編譯成 java 它會根據pageEncoding的設定讀取jsp 結果是由指定的編碼方案翻譯成統一的UTF JAVA源碼(即 java) 如果pageEncoding設定錯了 或沒有設定 出來的就是中文亂碼

第二階段是由JAVAC的JAVA源碼至java byteCode的編譯 不論JSP編寫時候用的是什麼編碼方案 經過這個階段的敏埋結果全部是UTF 的encoding的java源碼

JAVAC用UTF 的encoding讀取java源碼 編譯成UTF encoding的二進制碼(即 class) 這是JVM對常數字串在二進制碼(java encoding)內表達的規范

第三階段是Tomcat(或其的application container)載入和執行階段二的來的JAVA二進制碼 輸出的結果 也就是在客戶端見到的 這時隱藏在階段一和階段二的參數contentType就發揮了功效

contentType的設定

pageEncoding 和contentType的預設都是 ISO 而隨便設定了其中一個 另一個就跟著一樣了(TOMCAT 是如此) 但這不是絕對的 這要看各自JSPC的處理方式 而pageEncoding不等於contentType 更有利亞洲區的文字 CJKV系JSP網頁的開發和展示 (例pageEncoding=GB 不等於 contentType=utf )

jsp文件不像 java java在被編譯器讀入的時候默認採用的是操作系統所設定的locale所對應的編碼 一般我們不管是在段侍記事本還是在ue中寫代碼 如果沒有經過特別轉碼的話 寫出來的都是本地編碼格式的內容 所以編譯器採用的方法剛好可以讓虛擬機得到正確的資料

但是jsp文件不是這樣 它沒有這個默認轉碼過程 但是指定了pageEncoding就可以實現正確轉碼了

舉個例子

<%@ page contentType= text/ charset=utf %>大都會列印出亂碼 因為我輸橋燃螞入的 你好嗎 是gbk的 但是伺服器是否正確抓到 你好嗎 不得而知

但是如果更改為

lishixin/Article/program/Java/hx/201311/26477

熱點內容
維普中文期刊資料庫 發布:2025-02-05 00:45:33 瀏覽:754
安卓哪裡填寫apple代碼 發布:2025-02-05 00:28:54 瀏覽:290
oppo手機鎖屏密碼忘記後如何更換 發布:2025-02-05 00:28:19 瀏覽:28
幼兒思維編程 發布:2025-02-05 00:18:21 瀏覽:25
我的世界電腦正版如何進入伺服器 發布:2025-02-05 00:18:06 瀏覽:880
疫情防控健康碼預警機制演練腳本 發布:2025-02-04 23:58:46 瀏覽:39
分治演算法java 發布:2025-02-04 23:41:15 瀏覽:593
安卓app點進去就閃退怎麼回事 發布:2025-02-04 23:36:56 瀏覽:780
宏按鍵編程 發布:2025-02-04 23:05:11 瀏覽:904
微信隱形密碼在哪裡設置 發布:2025-02-04 23:05:01 瀏覽:866