gpt4 book ai didi

java - spring mvc jquery ajax响应作为json编码问题

转载 作者:行者123 更新时间:2023-11-30 04:41:02 26 4
gpt4 key购买 nike

最近我在服务器 JSON 响应中的波兰语字符方面遇到了大问题。我对此有简单的 Ajax 请求:

jQuery.ajax( "/GetSimpleRuleList",
{
type:"GET",
responseType:"application/json;charset=utf-8",
contentType:"application/json;charset=utf-8",
cache:false
} ).done( function ( data )
{
console.log( data );
//nevermind here
} );

以及服务器端适当的 Controller :

@RequestMapping(value = "/GetSimpleRuleList", method = RequestMethod.GET)
public
@ResponseBody
String getRuleList( ServletResponse response )
{
//magically getting my list here
response.setCharacterEncoding( "UTF-8" );
return //Using JACKSON ObjectWriter here
}

现在我 100% 确定服务器端和我从中获取数据的数据库上的 encoidng 没问题,没有问题。但是当涉及到从服务器读取响应时,它是:

???

而不是波兰字符:

ąćź

此外,仅当接收到服务器的响应且发送数据编码正确的请求时才会失败。

在我的 web.xml 中,我有字符编码过滤器。

对此有什么帮助吗?我没有主意了。

最佳答案

Now I'm 100% sure that encoidng on server side and database from where I take data from is OK

如果您的响应中尚未存在 Content-Type header ,请尝试添加该 header :

response.setHeader("Content-Type", "application/json;charset=UTF-8")

从数据库读取时请确保使用 UTF-8 字符集。 Jackson的编码默认为UTF-8,所以你的数据可能不是使用UTF-8编码的?!?

从数据库读取时使用什么编码?也许是 ISO-8859-2?

关于java - spring mvc jquery ajax响应作为json编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12301719/

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