【发布时间】:2015-01-20 00:10:25
【问题描述】:
我有一个执行 Ajax 调用的应用程序,其中一个字符串被传递给服务器,服务器返回一个包含相同字符串的 json 字符串,以及其他信息。我将此应用程序托管在 Amazon Web Services (AWS) 和本地开发环境中的服务器上。
当我在 AWS 环境中通过此调用特殊字符(á、ñ 等)时,它们在 json 中返回为带有问号的菱形。奥秘在于这些字符在我的本地开发环境中被正确编码。
我有这个标签来编码 HTML 模板:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
我还得到了服务器注释:
@RequestMapping(value="/actualizarDestinos", produces = "application/json; charset=utf-8", method = RequestMethod.GET)
在 web.xml 中的 tomcat 配置中,我取消了这个过滤器 setCharacterEncodingFilter 的注释。
知道为什么编码在 AWS 环境中失败但在我的本地环境中有效吗?跟操作系统的语言有关系吗?
【问题讨论】:
-
尝试在 web.xml 上添加过滤器 encodingFilter 并在 Tomcat Java 选项上添加 -Dfile.encoding=UTF8。仍然没有运气。想知道我是否与操作系统语言有关,或者它在 Windows Server 2012 r2 中的错误。
标签: java json spring amazon-web-services utf-8