首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JSON字符编码

JSON字符编码
EN

Stack Overflow用户
提问于 2010-10-22 17:35:19
回答 8查看 198.7K关注 0票数 60

我的Java web应用程序提交一个返回JSON的AJAX请求,如下所示:

{'value': 'aériennes'}

当'aériennes‘显示在网页中时,它会显示为'a�riennes',所以我猜可能存在某种字符编码问题。AJAX响应头包括

Content-Type    application/json

它似乎不包含任何字符集信息。我想这需要改成像这样的

Content-Type    text/html; charset=iso-8859-1      (or charset=utf8)

这个应用的服务器端是Spring MVC,我猜肯定有一种方法可以为每个响应设置默认字符集?

EN

回答 8

Stack Overflow用户

发布于 2013-03-13 01:47:31

我不知道这是否再有意义了,但是我用@RequestMapping注解修复了它。

@RequestMapping(method=RequestMethod.GET, produces={"application/json; charset=UTF-8"})
票数 34
EN

Stack Overflow用户

发布于 2010-10-23 04:51:13

首先,您发布的数据不是有效的JSON。这将是:

{"value": "aériennes"}

请注意双引号:它们是必需的。

JSON data should be application/json的Content-Type。实际的JSON数据(我们上面有的)应该使用UTF-8、UTF-16或UTF-32进行编码-我建议使用UTF-8。

您可以使用诸如Wireshark之类的工具来监控网络流量并查看数据的外观,您应该会看到é的字节c3 89。我从来没有使用过Spring,但是如果它做的是JSON编码,那么这个问题可能已经为您处理好了。

一旦JSON到达浏览器,它应该是好的,如果它是有效的。但是,如何将来自JSON响应的数据插入到网页中呢?

票数 18
EN

Stack Overflow用户

发布于 2014-11-28 21:52:32

最后我得到了解决方案:

只把这一行

@RequestMapping(value = "/YOUR_URL_Name",method = RequestMethod.POST,produces = "application/json; charset=utf-8")

这肯定会有所帮助。

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

https://stackoverflow.com/questions/3995559

复制
相关文章

相似问题

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