Servlet中文亂碼問題

2021-08-19 20:26:38 字數 716 閱讀 5001

亂碼問題出現原因

客戶端頁面的預設編碼方式是utf-8,而伺服器的預設解碼方式是iso-8859-1

get

1.客戶端通過get提交請求後,頁面會把表單內容通過utf-8進行編碼

2.把編碼後的內容傳送給tomcat伺服器

3.tomcat伺服器對收到的內容通過iso-8859-1進行解碼

4.得到亂碼

get解決方法

1.對tomcat伺服器收到的內容通過iso-8859-1進行編碼

2.再對內容通過utf-8進行解碼

3.得到正確的文字內容

name =  new

string(name.getbytes("iso-8859-1"),「utf-8 「)

post

頁面提交表單後不會進行編碼,而是將表單內容作為http請求的正文部分,以二進位製流的形式傳送到的伺服器。伺服器收到資料後,預設以iso-8859-1進行編碼。(iso-8859-1不支援中文,因此造成亂碼)

post解決方法

在讀取請求之前設定編碼方式為utf-8即可

request.setcharacterencoding(「utf-8」);

servlet中文亂碼問題

亂碼情況 q提交表單資料報含中文,則亂碼 q響應至客戶端包含中文,則亂碼 q解決方法 q提交表單資料報含中文,則亂碼 qget提交 tomcat conf server.xml設定uriencoding gbk 解決get方式的提交 修改tomcat目錄下conf下service.xml,新增uri...

servlet中文亂碼問題

亂碼原因 編碼與解碼不一致引起。亂碼分請求亂碼與響應亂碼。請求亂碼即在doget,dopost清求解獲取時就亂碼 doget請求亂碼 doget預設編碼為 iso 8859 1 iso 8859 1是單位元組編碼,自身不能顯示中文 要顯示中文就改變其編碼格式如utf 8。把tomcat下面conf資...

servlet中解決中文亂碼問題

最早的http協議中,並沒有附加的資料型別資訊,所有傳送的資料都被客戶程式解釋為超文字標記語言html 文件,而為了支援多 資料型別,http協議中就使用了附加在文件之前的mime資料型別資訊來標識資料型別。常用的mime型別由兩部分組成 前面是資料的大類別,例如聲音audio 圖象image等,後...