2016-04-22 40 views
0
語言顯示從DB文本

我在JSPJSP不除英語

... <% 
    out.println(request.getAttribute("textFromDB")); %> ... 

下面的代碼當JSP被調用,它只是輸出問號(???? ..)而不是存儲在非英文MySQL數據庫中的實際文本。我能做些什麼才能使其正確顯示文本。我試圖將charset和pageEncoding更改爲UTF-8,但它沒有幫助。

回答

0

是不是編碼很好嗎?不幸的是,很難說這樣會很錯誤的:你的數據庫可能在另一個字符集不是UTF-8存儲。或者您的數據庫驅動程序可能被配置爲以另一種編碼工作。或者你的服務器默認爲另一個。或者你的HTTP連接採用不同的編碼,你的charset更改來得太晚。

你必須通過所有這些層 - 而要記住,一切都看起來很好,它已經長過去寫操作到數據庫已經搞砸了無法修復的數據。

+0

當我寫的System.out.println(...)它打印,因爲我想要的文字,但在瀏覽器不,我應該在哪裏尋找這個問題? –

0
System.out.println(this.request.getHeader("Content-Encoding")); //check the content type 

String data = new String(this.request.getParameter("data").getBytes("ISO-8859-1"), "UTF-8"); //this way it is encoded to byte and then to a string 

,如果沒有工作,你可能想用database 檢查它是否編碼characters to "UTF-8"

上述方法

可以配置的URIEncoding =在你的tomcat 「UTF-8」安裝和只是(request.getAttribute("textFromDB"));做休息。

+0

this.request ...給出錯誤request.getHeader(..)返回null。 –

+0

以及如果類型是未知的get頭返回MIME類型的請求的主體中,或空的。 – Priyamal