这是我的ajax调用:
$.ajax({
url: 'js/questions.json',
type: 'POST',
dataType: 'json',
encoding: 'UTF-8'
})
.done(function(result) {
console.log(result)
})
.error(function(jqXHR, textStatus, errorThrown) {
do_sliding(false, '#start', false, true);
});
questions.json文件如下所示:
{
"questions": [
{
"question":"Er du forpliktet til å lese \"Code of conduct\"-dokumentet?",
"choice_1":"Alle nyansatte skal lese det, men ikke de som har jobbet i Infratek i over to år",
"choice_2":"Bare ledere med personalansvar",
"choice_3":"Alle ansatte",
"answer":"3"
},
{
"question":"Hvor ofte må man lese igjennom \"Code of Conduct\"?",
"choice_1":"Når man blir ansatt, deretter ved endringer",
"choice_2":"En gang i året i forbindelse med Energisamtalen",
"choice_3":"Det er tilstrekkelig å lese en gang, deretter er det sjefens ansvar å informere om endringer",
"answer":"2"
}
]
}
正如你所看到的,我有一些区域字符,比如:但这些字符的编码不正确。我知道这样的事情:�。字符编码也设置在我的html页面<meta charset="UTF-8">
。
发布于 2015-07-09 10:46:26
您正在谈论的是一个JSON文件。在通信的javascript端,没有文件,只有对请求的答复。我假设您在服务器上有一个文件,您可以在请求上发布该文件,或者请求生成此数据。
无论是哪种方式,它都取决于您的服务器是否能够并配置为将某些字符编码转换为UTF-8。
另外,当服务器从文件或其他地方读取json数据时,它可能对文件的编码一无所知。如果你问我,一个正常的服务器生活在一个默认使用UTF-8的系统中。
因此,很可能您的服务器在没有重新编码的情况下交付了JSON文件,并且该文件没有被编码为UTF-8,这将导致字符中断。
如果它是一个静态文件,您可以简单地转换它,例如用
iconv -f WHATEVER_CODEPAGE_YOU_USE -t utf8 <original.json>uf8.json
。
https://stackoverflow.com/questions/31314950
复制相似问题