gpt4 book ai didi

java - @ResponseBody 和语言导致编码错误

转载 作者:行者123 更新时间:2023-12-02 01:44:53 33 4
gpt4 key购买 nike

我有多个返回 JSON 对象的 REST 端点。对于大多数区域设置,响应都是正确的(所有符号都正确显示在响应中,并且内容类型为 application/json)。

如果我提供值为“en_NL”的 Accept-Language header ,Content-Type header 将更改为“application/json;charset=ISO-8859-1。响应正文还包含不正确的编码符号。(例如 €变成 â�<)。

我不确定内容类型 header 在哪里发生变化,并且在任何过滤器/配置或 jaxb 中找不到任何跟踪。

对于(取消)编码,我使用 jaxb。该应用程序是使用 Spring 4.1.7 构建的,并托管在 tomcat 服务器上。

Controller 示例:

    @RequestMapping(value = "/by-bundle", method = RequestMethod.GET)
@ResponseBody
public SbMessageMap getByBundleCodes(final @RequestParam("groups") String[] groups) {
// return json object here
}

提前致谢!

最佳答案

您是否尝试使用 @RequestMapping 处的 Produces 参数设置字符集?

@RequestMapping(value = "/by-bundle", method = RequestMethod.GET, produces = "application/json; charset=UTF-8")

关于java - @ResponseBody 和语言导致编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53838206/

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