gpt4 book ai didi

java - 为什么使用RequestDispatcher时UTF-8在html页面中不起作用?如何修复它?

转载 作者:行者123 更新时间:2023-12-02 04:25:20 25 4
gpt4 key购买 nike

我有一个页面,并且 UTF-8 有效:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>:(</title>
<link rel="stylesheet" href="font-awesome/css/font-awesome.min.css" type="text/css">
<link href='http://fonts.googleapis.com/css?family=Varela+Round' rel='stylesheet' type='text/css'>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link rel="stylesheet" href="css/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="css/login.css" type="text/css">
<link rel="stylesheet" href="css/creative.css" type="text/css">
</head>
<body>
<div class="text-center" style="padding:50px 0">
<div class="logo">Usuário ou email indisponíveis :(.</div>
</div>
</body>
</html>

尽管如此,当我使用 RequestDispatcher 将用户重定向到此资源时,它完全忽略页面的 UTF-8 编码(该消息是葡萄牙语,它显示“Usuário ou email indisponáveis” :(.").

if (this.hasRecord(connection, (String) requestData.get("reg_username"), (String) requestData.get("reg_email")) == true) {
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/user_taken.html");
requestDispatcher.forward(request, response);
} else {
statement.executeUpdate();
}

在做任何事情之前,我做了:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
...
}

此外,this没有得到答复。

编辑:我已经更改为 response.setCharacterEncoding("UTF-8") 而不是 request,但问题仍然存在。

最佳答案

更正,您的问题出在重定向上,您可以检查一些解决方案 here ,尤其是提到使用 SetCharacterEncodingFilter 的那一个.

通过修改 web-app 部分中的 web.xml

<filter> 
<filter-name>CharSet<filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

您还应该添加过滤器映射来指定应应用它的位置

<filter-mapping>
<filter-name>CharSet</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>

关于java - 为什么使用RequestDispatcher时UTF-8在html页面中不起作用?如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32262195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com