Ben diğer şeyler arasında benim PHP sunucudan bazı jsonp veri almak ve barındırma gömme sitesinde json nesnenin içerdiği metni göstermesi gerektiğini, bir JS pasajı gibi web sitelerinde gömülü bir üçüncü taraf hizmeti geliştiriyorum.
JQuery kullanıyorum, bu yüzden aşağıdaki getJSON istek sorunu.:
$.getJSON("http://localhost/php/server.php?a=gfs"+"&callback=?",function(Obj) {
doSomething(Obj);
});
ve PHP tarafında (server.php) ben var:
<?php
header('Content-Type: text/javascript; charset=utf8');
$retval = file_get_contents('../scripts/file.json');
//change to json php
$callback = $_GET['callback'];
echo $callback . '(' . $retval . ')';
?>
Bu FF mükemmel çalışır, ancak gömme sitesi file.json bulunan metin anlamsız görüntülendiğini anlamda, utf8 daha farklı bir şey, özellikle Windows 1255 (İbranice) web sayfası ile kodlanmış zaman IE başarısız. Elbette anlamsız gibi sayfa görünüm kalanını yapar iken, json görüntülenen metinle sorunu "düzeltmeler" unicode (tarayıcıda değil, kaynak) web kodlama değiştirme ... Ben benzer bir sorun vardı FF, ben php script başlığı (...) satır ilave önce.
Ben ne yapmalıyım? O FF ve IE içinde iyi çalışır Herkes neden biliyor mu? Böyle başlığında (...) özellikle IE için gerekli bir ek bir tanımı var mı?
Constraints: I have no control on the embedding website file.json has to be encoded in utf8 (that's how my db works) The same code needs to be able to handle both utf8 encoded pages and non utf8 pages