首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么UTF8字符编码在我的项目中不能正常工作?

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

Stack Overflow用户
提问于 2016-10-07 13:49:52
回答 1查看 881关注 0票数 2

我正在Wildfly 10应用服务器下在Spring中开发一个web应用程序。我使用Eclipse。

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

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

  1. 当我从数据库读取值并将其发送到客户端时,一切看起来都很好。
  2. 当我将控制器中的字符串值设置为ModelAndView对象时,它显示为‘?rv?T?K?k?rf?g?g?p‘
  3. 当我通过ajax将客户端的值作为POST变量发送回客户端时,它显示为'árvízt?r?Tük rfúrép‘。

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

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

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

有人能帮我吗?如果你需要更多的信息,请不要犹豫。谢谢。

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

代码语言:javascript
复制
<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-25 11:16:43

经过近两个月的搜索,我终于找到了解决问题的办法。除了配置服务器和Spring之外,我还需要添加两项内容:

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

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

最后我看到了我想要的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39918889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档