tomcat中的特殊字符

时间:2011-07-07 13:09:12

标签: java tomcat servlets utf-8

  

可能重复:
  How to get UTF-8 working in java webapps?

我有一个servlet,它在request参数中接收一些特殊字符。我试图显示它们,但我只是得到了问号。

我的查询字符串= 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"/>

如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

确保问题不在于显示,而不是阅读:

  • 如果在控制台上打印,请检查控制台是否具有UTF-8编码
  • 如果存储在数据库中,请确保数据库连接设置为UTF-8

(另外,请确保在开始使用请求之前放置request.setCharacterEncoding(..)