2011-07-07 246 views
0

可能重複:
How to get UTF-8 working in java webapps?特殊字符

我有一個請求參數中收到一些特殊字符的servlet。我試圖展示他們,但我只是得到問號而已。

我的查詢字符串= http://localhost:8080/specialcharacter/quote/startmilesquote?option=côté

我顯示

request.getQueryString() 
result= option=c%C3%B4t%C3%A9 

request.getParameter("option") 
result=c�t� 

我把

request.setCharacterEncoding("UTF-8"); 
response.setCharacterEncoding("UTF-8"); 

在servlet 將<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">放在響應的標題中。 而我在server.xml中的連接器被定義爲UTF-8。

<Connector connectionTimeout="20000" port="8080" 
       protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/> 

我該如何解決我的問題?

回答

0

確保問題不顯示,而不是讀:

  • 如果在控制檯上進行打印,檢查控制檯有UTF-8編碼
  • 如果存儲在數據庫中,確保DB連接設置爲UTF-8

(另外,確保你把request.setCharacterEncoding(..)您開始使用請求之前)