0

我想从 Open Data Wien Json加载一个 JSON 文件

$.ajax({
    type: "GET",
    url: jsonData,
    contentType: "application/json; charset=ISO-8859-1",
    dataType: "json",
    data: "",
    success: function(json) {
        $.each(json, function (key, val) {
           getJson(val);
        });
        $("#divMessage").css("display", "none");
    },
    error: function (xhr, textStatus, errorThrown) {
        $("#error").html(xhr.responseText);
    }
});

但是 ä,ö 等都坏了,我尝试了 utf-8 等但没有任何效果。

有什么想法可以解决这个问题吗?

4

2 回答 2

0

如果您使用的是脚本语言文件,您可以这样做:(可能会有些慢,但如果您没有问题...)

<?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";    
}
?>

和/或使用PHPJS 中的此 JavaScript 函数检索您的数据

于 2013-01-21T20:26:13.327 回答
0

这可能是显示问题,这意味着 JSON 可能不是问题。

尝试直接在 HTML 标记中添加这些字符 (ä,ö),如果它们出现“损坏”,那么您可能可以消除 JSON 作为问题的根源。

在HTML 文档的部分添加Content-Type元标记通常可以解决此类问题<head>

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
于 2013-01-21T20:23:51.230 回答