JAVA WEB開發中處理亂碼彙總

2021-06-16 18:31:03 字數 1016 閱讀 7513

在開發中難免會遇到中文顯示亂碼的問題,亂碼問題是乙個很棘手的問題,常常令程式設計師抓狂。現在把我使用的幾種解決亂碼的方案和大家共享!

一、表單提交的亂碼處理

表單提交分為get和post兩種提交方式。兩種方式的亂碼解決又不一樣,用post提交只需要在接受的時候加上request.setcharacterencoding("utf-8");而get方法處理應該將接收過來的值打碎成iso-8859-1編碼的,然後再組裝成utf-8的,new string(request.getparameter(param).getbytes("iso8859-1"),"utf-8");

二、過濾器處理亂碼問題

如果每次接收都像上面那樣去處理的話肯定是太麻煩了,用過濾器來處理請求的亂碼問題很方便,只需要寫乙個過濾器,就可以過濾所有請求頁面的亂碼問題了。至於如何用過濾器處理亂碼請參考《用過濾器來解決jsp中文亂碼問題》。不過值得注意的是,如果使用struts的話,在web.xml裡面處理編碼的過濾器必須在struts過濾器前面註冊,否則所有頁面都不會經過過濾器。

三、ajax請求的亂碼問題

如果使用ajax出現了亂碼問題這樣解決:前端ajax函式的請求的url裡面中文引數用兩個encodeuri()函式處理,var url = "user.do?p=checkuser&name=" + encodeuri(encodeuri(username.value));而伺服器端則用 urldecoder.decode()函式去接收,string username = urldecoder.decode(request.getparameter("name"),"utf-8");   這樣就能夠解決ajax請求中亂碼的問題了。

四、鏈結請求中亂碼問題(ie6)

使用鏈結請求傳遞中文引數時在ie6裡面會出現亂碼,解決方法如下:使用encodeuri(param)對中文引數處理一下就行了,如location = "users.do?p=login&&username="+encodeuri(username)+"&password="+encodeuri(password);

待續.........

java web 開發 亂碼處理

一 表單提交的亂碼處理 表單提交分為get和post兩種提交方式。兩種方式的亂碼解決又不一樣,用post提交只需要在接受的時候加上request.setcharacterencoding utf 8 而get方法處理應該將接收過來的值打碎成iso 8859 1編碼的,然後再組裝成utf 8的,new...

javaweb 中文亂碼的處理

首先應該用setcharacterencoding將編碼格式設定為 utf 8 request.setcharacterencoding utf 8 如果使用的是post方式提交,則對於中文來說可以直接通過getparameter 來獲取所傳的值 string username request.ge...

java web 中亂碼問題

string name new string request.getparameter username getbytes iso 8859 1 gbk 這樣的接受引數的方法是乙個通用的方法,不管是對get或post提交的方法都有效 一 中文亂碼產生的原因 a 亂碼有很多種,這裡所說的是指web傳入...