我有一個網頁,我根據文本框中給出的文本進行搜索。本文可以使用任何語言,如日語,中文等(或任何mbcs字符)。當在java中使用request.getParameter()時字符被損壞
現在,當我以日語(或任何其他mbcs字符)輸入文本時,結果會填充屏幕(表格)並帶有一些粗糙的字符。
例如:testテスト
將變成testãã¹ã
。
當我看到在Firebug(調試工具)後的參數,我可以看到的是,搜索字符串都按testテスト
然而,當我把調試語句在我的代碼,我可以看到request.getParameter("searchString")
不能識別的日本文字和把他們變成一些奇怪的字符。
我的JSP頁面頭部已經有<%@ page contentType="text/html; charset=UTF-8"
我也試圖把這個pageEncoding="UTF-8"
,但它並沒有幫助。
我也嘗試設置字符編碼像request.setCharacterEncoding("UTF-8")
也就在做request.getParameter
之前,但也沒有爲我工作。
在經歷了幾個論壇和博客之後,我還嘗試在tomcat config的<Connector>
中設置useBodyEncodingForURI=true
,但那也沒有幫助我。
有人可以建議我解決這個問題嗎?
「當我把調試語句在我的代碼」 - 這意味着什麼?什麼樣的調試? '的System.out.println()'?哪個操作系統? – skaffman 2012-03-19 10:05:43
如果我沒有錯,你可能需要將它轉換爲ascii。 – 2012-03-19 10:11:58
嘿Skaffman..by調試語句我的意思是我的代碼中的一些記錄器,而不是SOP聲明 – user1278265 2012-03-20 07:42:01