gpt4 book ai didi

java - 为什么 UTF8 字符编码在我的项目中不能正常工作?

转载 作者:行者123 更新时间:2023-11-30 07:58:58 25 4
gpt4 key购买 nike

我正在 Wildfly 10 应用程序服务器下的 Spring Framework 中开发 Web 应用程序。我使用 Eclipse IDE。

我遇到了无法解决的字符编码问题:当我将某些字符从服务器端发送到客户端时,它们无法正确显示。

我的测试String我使用的对象是“árvíztűrő tükörfúrógép

  1. 当我从数据库中读取值并将其发送到客户端时,一切正常。
  2. 当我将 Controller 中的字符串值设置为 ModelAndView 对象时,它显示为 '??rv?zt?±r?? t??k?¶rf??r??g?©p'
  3. 当我通过 ajax 从客户端发送值作为 POST 变量并将其发送回客户端时,它显示为 'árvízt?r? tükörfúrógép'。

我将所有 .jsp 文件设置为 UTF8 编码:<%@page contentType="text/html" pageEncoding="UTF-8"%>

在 Eclipse 中,我将所有 Maven 模块文本文件编码设置为 UTF8。所有文件都是 UTF8 格式。

我错过了什么?我还应该设置什么来获得 String客户端的值(value)?我应该以某种方式在 Wildfly 10 中设置字符编码吗?

有人能帮帮我吗?如果您需要更多信息,请随时询问。谢谢。

编辑:将字符编码设置为 Maven 属性解决了第二种情况。现在我只有第三种情况有问题:

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

最佳答案

经过将近 2 个月的搜索,我找到了解决问题的方法。除了配置服务器和 Spring,我还需要添加两件事:

在我的 Maven 项目的 Web 模块上,我必须设置源的字符编码: <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

还有当我发送 JSONObject在客户端,我必须设置字符编码: @RequestMapping(value = "/historyContent.do", produces = { "application/json; charset=UTF-8" })

终于我可以看到我想要的了。

关于java - 为什么 UTF8 字符编码在我的项目中不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39918889/

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