查詢分頁中漢字引數傳遞的編碼問題解決方案

2021-08-30 06:56:05 字數 1043 閱讀 5067

首先,感謝我昨天的提問有那麼多熱心的同志回答!是他們提供的資料幫我解決了這個問題。一下開始我的正文:

昨天要做乙個查詢分頁,因為以前沒有做過中文的查詢,這次確實費了一番功夫才解決,一下記錄整個過程希望能幫助和我遇到同樣問題的朋友們。

我的需求是如下圖所示的乙個酒店搜尋:

專案中使用的是spring的org.springframework.web.filter.characterencodingfilter做的字元過濾器,頁面和資料庫都使用的是utf-8的編碼,tomcat預設編碼是iso-8859-1沒有改動。

第二步:

大家都知道tomcat預設是不支援漢字uri的,所以我們要把傳到頁面的uri進行處理,網上很多介紹的,就是使用js來處理,這裡涉及到js三個方法的escape、encodeuri、encodeuricomponent,務必理解這三個方法,這個地方有介紹:我用到的是encodeuri。

我處理分頁鏈結中的漢字方法如下:

1.把分頁的頁面、上下頁這些鏈結包含在乙個div中

2.使用js修改這個div中的uri,我使用的是jquery來做的,**如下:

$(document).ready(function());});

});

到此頁面部分工作告一段落,我看資料裡介紹js的encodeuri方法是預設轉換為utf-8,它也沒有傳入編碼的方法。

第三步:

在action中獲取第一次form提交的資料時可以直接獲得正確的漢字,但是從分頁上提交到action中的資料要做另外一步的處理:

new string(value.getbytes("iso-8859-1"),"utf-8");
通過這個方法就可以正確的獲得分頁傳回的漢字引數了。

這裡就又產生了乙個新的問題,就是我們要區分提交給action的請求**是form提交的,還是分頁中提交的,這樣就簡單了,用乙個變數就可以解決。

到此結束,很簡單吧,如果還不能理解就照著做個demo,有問題歡迎交流!

再次感謝昨天熱心回答我提問的同志們!

struts中submit標籤傳遞引數問題

align center s submit value 刪除 class searchbutton method deleteauthbyempid type hidden name empauthid value s property value authorization.empid s pro...

解決jsp中傳遞引數漢字亂碼問題

解決jsp中傳遞引數漢字亂碼問題 問題描述 1 表單提交的資料,用request.getparameter 返回的字串為亂碼或者?2 直接通過url如http localhost a.jsp?name 中國,這樣的get請求在服務端用request.getparameter name 時返回的是亂碼...

ajax中傳遞中文引數的編碼問題

遇到問題 在使用xhr發出請求時,請求的url中引數帶中文,這時在後台解析request得不到中文 如 request new activexobject microsoft.xmlhttp request.open get url 中我的url需要帶中文引數 直接加引數是在後台解析不出來的,所以我...