關於java web中字元編碼和url編碼的理解

2021-07-09 04:52:58 字數 1041 閱讀 5580

首先要區分字元編碼和

url編碼的區別,

page

指令中指定的字元編碼是儲存頁面的時使用的編碼,

url編碼是傳輸請求引數時候使用的編碼。

字元編碼:

web頁面本身的

page

指令中」content-type:text/html;charset=gbk」

指定的是生成頁面(即響應頁面也就是本頁面)的字元編碼。

url編碼:

但通過get

或者post

請求時,請求引數值中一旦存在漢字時瀏覽器需要對請求引數進行編碼,即

url編碼(在傳輸過程中肯定是以位元組流的方式傳輸,將字元轉換為位元組,因為計算機只認識二進位制位元組)。 這個

url編碼方式則取決於瀏覽器自己(但其中也存在著規律) 以

ie舉例:(不同瀏覽器的編碼方式不同,

ex: firefox)

get請求方式中的請求引數值:如果在

url中直接指定請求引數的值,通過

f12檢視時候會發現查詢字串預設以

utf-8

對請求引數值進行編碼;而如果是提交表單的方式,則預設以表單

page

指令中指定的字元編碼進行編碼

post

請求方式中的請求引數值:(基本以提交表單的方式進行請求,一般在表單頁面的

page

指令中」content-type: text/html;charset=gbk」

會指定頁面的編碼,所以請求引數值的

url編碼會和以頁面的編碼方式相同) 注意

get和

post

的區別:

get方式沒有請求體(請求正文),請求引數值以查詢字串

的形式追加在

url之後,即

url?key1=value&key2=value…

(value

的值可以自行指定同時也可以以提交表單方式生成

url編碼)

post

方式存在請求體,請求引數的值以

url編碼存在請求體(請求正文)中

關於java web中的解碼與編碼

一.html表單,用get和post提交資訊到servlet 1.這個html標籤裡面的屬性的是告訴瀏覽器的編碼。個人覺得可以這樣理解,你編寫乙個html檔案,然後你在body裡面輸入了中文。這裡的charset的值就是表明html製作使用的語言。那麼當瀏覽器要顯示這個html頁面的時候,就知道這個...

關於字元編碼

美國人首先對其英文本元進行了編碼,也就是最早的ascii碼,用乙個位元組的低7位來表示英文的128個字元,高1位統一為0 後來歐洲人發現尼瑪你這128位哪夠用,比如我高貴的法國人字母上面的還有注音符,這個怎麼區分,得,把高1位編進來吧,這樣歐洲普遍使用乙個全位元組進行編碼,最多可表示256位。歐美人...

關於字元編碼

我們知道在學習php和jsp的時候,出現亂碼是經常性的事情,怎樣來一勞永逸的解決這個問題,我來做個總結。首先來了解一下字符集,我們關心的字符集大概有這麼幾個,iso 8859 1 gb2312 gbk utf 8,其中iso 8859 1是採用1個位元組進行編碼,而gb2312和gbk則是在其基礎之...