Javascript 使用AJAX在JSON中进行字符编码
我想从Open Data Wien加载一个JSON文件 但是ä,ö等都坏了,我试过utf-8等,但都没用Javascript 使用AJAX在JSON中进行字符编码,javascript,ajax,json,character-encoding,Javascript,Ajax,Json,Character Encoding,我想从Open Data Wien加载一个JSON文件 但是ä,ö等都坏了,我试过utf-8等,但都没用 有没有办法解决这个问题?这可能是一个显示问题,这意味着JSON可能不是问题所在 尝试将这些字符(ä,ö)直接添加到HTML标记中,如果它们看起来“坏了”,那么您可能可以消除JSON作为问题的根源 在HTML文档的部分添加内容类型元标记通常可以解决此类问题 <meta http-equiv='Content-Type' content='text/html; charset=utf-8'
有没有办法解决这个问题?这可能是一个显示问题,这意味着JSON可能不是问题所在 尝试将这些字符(ä,ö)直接添加到HTML标记中,如果它们看起来“坏了”,那么您可能可以消除JSON作为问题的根源 在HTML文档的
部分添加内容类型
元标记通常可以解决此类问题
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
如果您使用的是脚本语言文件,您可以这样做:(速度可能会慢一些,但如果您没有问题…)
和/或使用此检索您的数据您的JSON数据是用
JSON编码的。stringify
,对吗?OP的链接数据是一个JSON,用ISO-8859-1编码<代码>内容编码gzip和内容类型应用程序/json
当我尝试“alert(json.stringify(json));”时,编码仍然中断。有什么想法吗/你有console.log(myJSON)代码>?我的html正确地显示了ä,ö,ü,ß,就在这个json中
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<?php
header('Content-Type: application/json; charset=utf-8', true);
print(getUTF8("http://data.wien.gv.at/daten/wfs?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien%3aMUSEUMOGD&srsName=EPSG:4326&outputFormat=json"));
function getUTF8($url){
//if(is_valid_url){make all checkings to avoid errors and assure that the URL is valid;
if($read = file_get_contents($url)){
return trim(utf8_encode($read));
}
else return "error";
}
?>