如何在基于Tomcat的java项目中使用UTF-8编码

时间:2012-08-29 11:34:20

标签: java jsp tomcat encoding utf-8

我有一个使用Tomcat作为服务器的java web项目。我的问题是,当我想使用UTF-8字符时,它没有正确显示它们。

我的意思是当我使用UTF-8字符并运行我的servlet时,浏览器中的字符不正确。因为我想在xml页面中使用该页面无法显示。我用两个firefox做了和互联网浏览器,但我没有看到任何变化。

任何人都可以告诉我在Tomcat和我的项目中应该做些什么改变来纠正这个问题?

2 个答案:

答案 0 :(得分:1)

有很多事情要看:

  • jsp编码应该是UTF-8(文件的编码 - 在IDE /编辑器中检查)
  • 您必须在servlet中发送相应的标头 - response.setCharacterEncoding(..)<%@ page pageEncoding="utf-8" %>
  • 如果你想在URL中使用utf,你需要在tomcat的server.xml中配置URIEncoding="utf-8"
  • 如果您有数据库访问权限,请确保通过将utf-8设置为通信编码来正确地与其通信。另外,请确保您的数据库使用的是utf-8

答案 1 :(得分:0)

我通过以下方式解决了这个问题:

  1. 在我的项目中添加过滤器,使用以下命令将请求和响应字符串编码为UTF-8:

    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    
  2. 在Tomcat URIEncoding="utf-8"中配置server.xml

  3. 感谢所有帮助我解决问题的人。