網頁表單中文亂碼入門解析

2021-09-01 03:45:07 字數 568 閱讀 9271

在所有的瀏覽器裡,除了ie(低版本的瀏覽器,典型代表:ie6)瀏覽器,在傳送的url裡面,path部分和引數部分都是以utf-8編碼,這樣在網頁中指定伺服器端接受的編碼格式(以utf-8為例)就可以正確的解碼,目前大多數的web伺服器都是預設以utf-8來解碼。

但在ie瀏覽器裡,path 部分以utf-8格式編碼,但引數部分以gbk編碼。這樣如果引數裡有中文,就會造成亂碼現象。

解決的方案是:

1:在所有要提交給伺服器裡的表單引數裡,都以encodeuricomponent的方式來提交

2:在url後面加上&_input_charset=utf-8,該引數是給servlet.setcharacterencoding()方法使用的

注意js裡的ajax提交的時候,預設全部採用utf-8來提交。這時更需要使用encodeuricomponent方法包裝後提交。

encodeuricomponent和encodeuri方法的區別在於:

encodeuri僅針對本書不屬於uri字元的特殊字元進行編碼,例如冒號、正斜槓、問號等等

encodeuricomponent則針會對整個uri所有的字元全部編碼。

網頁中文亂碼

如果網頁顯式申明了支援中文的編碼 如 原因1網頁內容本身的編碼與utf 8不相容。是你之前用某工具編輯過網頁內容,儲存為另乙個編碼格式。解決方案 用eclipse webstrom ue等,新建乙個html文件,將 copy過去,儲存為utf 8。原因2 後台返回的資料與utf 8不相容 解決方案 ...

form表單提交中文亂碼的詳細解析

摘要 中文亂碼主要是根據 get,post請求的不同,處理方式沒選對引起的,當然也有小可能是tomcat的版本不同引起的 form表單提交中文亂碼問題 首先 get,和 post 的區別 1 get 請求的請求引數附在位址列的url之後,post請求是通過http post 機制將表單各個字段及其內...

中文亂碼之 表單提交資料中文亂碼

在開發的時候不可避免的會遇到一些中文亂碼,這次我來介紹總結一下我遇到的中文亂碼。首先,在發現提交上去的表單中文亂碼的時候先檢查是否是配置的問題。硬體 檢查 1.檢查myeclipse的編碼是否為utf 8 2.檢查是否是jsp或html頁面字符集編碼設定錯誤 3.檢查dopost方法中,引數獲取是否...