首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从4.1.2升级到Spring4.3.16后的特殊字符

从4.1.2升级到Spring4.3.16后的特殊字符
EN

Stack Overflow用户
提问于 2018-10-25 18:31:14
回答 1查看 282关注 0票数 2

我正在开发一个主要建立在Java8、Spring4.1.2、SpringIntegration4.1.0、SpringSecurity3.1.2、myBatis 3.2.3和Tomcat8.5上的项目。在项目中公开了一个REST GET方法,它返回一个具有特殊字符é的JSON。

最近,我一直试图将整个项目升级到Spring4.3.16、SpringIntegration4.3.15和SpringSecurity4.2.4。在这次迁移之后,这个特殊的角色出现了扭曲。对此服务的邮递员请求返回\ufffd代替字符和标题Content-Type →application/json

在Spring升级之前,通过Postman获得对函数的请求,用于返回正确的字符和头Content-Type →application/json;charset=UTF-8

日志中打印出相同的JSON,在Notepad++中以Notepad++形式显示特殊字符,在记事本中以é形式显示。

我试过以下几点-

  1. jackson-databind从2.4.1更新到2.8.11.2 -没有工作
  2. int-http:request-mapping consumes="application/json" produces="application/json;charset=UTF-8"中设置int-http:inbound-gateway -不起作用
  3. 在Tomcat的setCharacterEncodingFilter‘sweb.xml中启用UTF-8 -不起作用

在从Spring4.1.2迁移到4.3.16时,是否需要更改正确的字符编码?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-10-26 14:47:19

我能够通过引用Content-Type on http:inbound-gateway response has charset=iso-8859-1 instead of utf-8来解决这个问题

我添加了一个标题-充实她的内容类型为UTF-8。

代码语言:javascript
复制
 <int:header-enricher>
        <int:header name="Content-Length" expression="payload.length()"/>
        <int:header name="Content-Type" value="application/json;charset=UTF-8"/>
 </int:header-enricher>

有趣的是,这在Spring升级之前并不是必需的。然而,它现在起作用了。

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

https://stackoverflow.com/questions/52995924

复制
相关文章

相似问题

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