關於瀏覽器的請求資料到達後台亂碼問題

2021-08-10 20:32:25 字數 1017 閱讀 4410

tomcat8.0

以上瀏覽器請求的資料編碼格式(包含):

get

請求的時候

tomcat

用utf-8

處理

post

請求的時候

tomcat

用iso8859-1

處理

tomcat8.0

以下瀏覽器請求的資料編碼格式:

不管哪種請求方式都預設的是

iso-8859-1

解決亂碼的步驟:

1、如是post方式的資料中亂碼則需要寫:

request.setcharacterencoding("utf-8");

2、如果是get方式請求。先判斷tomcat的版本:

(1)tomcat8以上預設就是utf-8 ,不需要處理,直接使用

(2)tomcat8以下,預設的是iso-8859-1就需要下面處理方式:

第一步:先把獲取的資料以「iso-8859-1」的格式轉變成二進位制資料。

bytepar=req.getparament("name").getbytes("iso-8859-1");

第二步:然後建立乙個字串,把剛剛轉換成二進位制的資料傳入字串的建構函式中,然後以utf-8的形式建立。

string str = new string(par,」utf-8」);//    正確的字元

注:使用tomcat8以下全域性編碼過濾器,對tomcat8以上不適用

關於瀏覽器預檢 OPTIONS 請求

在非簡單請求且跨域的情況下,瀏覽器會發起options預檢請求。1 簡單請求 簡單請求需滿足以下兩個條件 請求方法是以下三種方法之一 http 的頭資訊不超出以下幾種字段 2 複雜請求 非簡單請求即是複雜請求 常見的複雜請求有 請求方法為 put 或 delete 新增額外的http header ...

IE 瀏覽器下 get 請求不走後台

問題 1.有的 ie 下有問題,有的 ie 沒有問題,谷歌瀏覽器的都沒問題 2.url 引數一樣的,結果不一樣,且 有問題的 ie 這個請求不進後台 3.請求方式 get 原因 ie 瀏覽器中當某次的請求和上次的請求 url 和引數一致時,就會直接從瀏覽器快取中取上一次請求返回的結果 如果瀏覽器快取...

轉!!關於http請求 瀏覽器 中文編碼

不同瀏覽器對http請求的編碼行為存在差異,由於目前主流用谷歌瀏覽器,這邊以谷歌瀏覽器分析 1.http請求,google chrome瀏覽器會對請求的url中非ascii碼字元進行編碼。這裡不是指對整個url進行編碼,而是僅僅對非ascii碼字元部分進行編碼。utf 8 編碼,轉16進製制 2.後...