【问题标题】:Polish characters encoding with UTF-8 doesn't work only in one JSP file使用 UTF-8 编码的波兰字符仅在一个 JSP 文件中有效
【发布时间】:2018-10-18 08:22:13
【问题描述】:

我在 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 文件中遇到过类似的问题吗?

【问题讨论】:

  • 您实际上并没有说明什么不起作用或发生了什么症状。如果这没有生成 XML 内容,请取出 XML 标头。
  • 毕竟添加了 @nitind XML 标头。我正在尝试一切并添加了这一点。问题是我已经声明了所有需要的字符编码,并且只有在这个页面上字符显示不正确。像这样:“Szczegó?y u?ytkownika”
  • 它们在 Eclipse 或浏览器中显示不正确?
  • 它们仅在浏览器中显示不正确。在 Eclipse 中是普通的波兰语字符。
  • @nitind 感谢您的帮助。我解决了这个问题答案如下。

标签: java eclipse jsp servlets utf-8


【解决方案1】:

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

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

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

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

首选项 -> Web -> JSP 文件

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

【讨论】:

    猜你喜欢
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 2018-06-15
    • 1970-01-01
    • 2013-04-20
    相关资源
    最近更新 更多