首页 > 解决方案 > 使用 UTF-8 编码的波兰字符仅在一个 JSP 文件中有效

问题描述

我对 JSP 文件编码有难以置信的问题。我们的许多 JSP 文件中只有一个破坏了 UTF-8 编码。我们使用波兰语字符,如 ł、ż 等。

我在 Eclipse 中设置了 UTF 编码:

首选项 -> 常规 -> 内容类型 -> 文本 -> JSP -> 默认编码 -> UTF-8

首选项 -> Web -> JSP 文件

首选项 -> 常规 -> 工作区

我的 JSP 文件如下所示:

<%@ page import="main.tables.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Szczegóły użytkownika</title>
<style>
    <%@include file="../../../WebDevelopment/css/style.css"%>
    <%@include file="../../../WebDevelopment/css/bootstrap.min.css"%>
</style>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
 ...
</body>
</html>

我还尝试在记事本中更改编码并将其设置在 servlet 中。我用了这条线:

response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");

有人只在一个 JSP 文件中遇到过类似的问题吗?

标签: javaeclipsejspservletsutf-8

解决方案


经过长时间的故障排除后,我决定在我的机器上重新创建 servlet 和 JSP 文件。最初我的一位同事在他自己的电脑上创建了它。

所以我在我的 Eclipse 中创建了新的 servlet 和 JSP,并在所有地方都设置了正确的编码。之后我复制了 doPost 正文和 JSP html 正文。这奏效了……

我们需要在我们的团队中考虑这个问题。摆脱类似问题的关键可能是在这些地方设置 UTF-8 编码:

首选项 -> 常规 -> 内容类型 -> 文本 -> JSP -> 默认编码 -> UTF-8

首选项 -> Web -> JSP 文件

首选项 -> 常规 -> 工作区


推荐阅读