0

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

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

谁能告诉我我应该在 Tomcat 和我的项目中做些什么来纠正这个问题?

4

2 回答 2

1

有很多事情要看:

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

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

  1. 向我的项目添加一个过滤器,使用以下方法将请求和响应字符串编码为 UTF-8:

    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    
  2. 在TomcatURIEncoding="utf-8"server.xml.

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

于 2012-09-04T09:21:52.013 回答