2015-01-20 8 views
5

üzerinden gönderilirken takılıyorum (jpery.ajax aracılığıyla), bir sonuçlar bölümüne jquery.ajax aracılığıyla parametreler (ä, ö, ü gibi özel karakterler dahil) veriyorum. Bu divta php ile işlemek gerekiyor. ÖrneğinAlman özel karakterleri ajax

Bu örnek, 'türü'

$(document).ready(function() { 
    $('#dropdown').change(function() { 
     $.ajax({ 
      url: "inc/ajax.results.php", 
      type: "GET", 
      data: 'type='+$('#type').val() 
     }).done(function(data){ 
      $("#results").html(data); 
     }); 
    }); 
}); 

değeri 'Müller' sahiptir. Benim 'ajax.results.php' ben bunu:

<?= $_GET['type'] ?> 

// Output is 'Müller' in Firefox and Chrome 

// BUT in internet explorer the output is 'M' 

Yani, Firefox ve Chrome için sorun değil, ama internet explorer sonucu 'M' (bir kare ardından M) ...

olduğunu

böyle çıkışını değiştirmek için denedim: çıkışı (onunla fazladan işlemler yapacağız çünkü) PHP yoluyla olmak zorundadır

<?= utf8_encode($_GET['type'] ?> 

// Output in internet Explorer now is fine (Müller) 

// BUT in Firefox and Chrome it is 'Müller' 

olarak, bir çözüm bulamıyorum ..

Bunu çözmek için lütfen yardımcı olabilir misiniz? sorun? sayesinde etiketi içinde

<meta charset="utf-8"> 

veya

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

eklemek Eğer açılan sahip bir HTML sayfasında bir sürü

+0

:-) çalışır Ve siz de UTF8 dosyaları kaydedilmiş:

Kendimi çözüm bulundu. – adeneo

+0

Ve uygun bir karakter kümesi vb. Ayarlayın – adeneo

+0

evet tüm dosyalar utf8'dir – cypher75

cevap

2

Yardımlarınız için hepinize teşekkür ederiz. Benim ajax isteği 'encodeURIComponent()' ekledik ve

$(document).ready(function() { 
    $('#dropdown').change(function() { 
     $.ajax({ 
      url: "inc/ajax.results.php", 
      type: "GET", 
      data: 'type='+encodeURIComponent($('#type').val()) 
     }).done(function(data){ 
      $("#results").html(data); 
     }); 
    }); 
}); 
3

.

Ve UTF-8 gibi tüm dosyaları kaydetmek için emin olun (veya daha iyi: BOM olmadan UTF-8)

Apache sunucuları Gerekirse bu nedenle, varsayılan olarak ISO-8859-1 dosyalarını sunmak üzere yapılandırılmıştır .htaccess dosyanıza aşağıdaki satırı ekleyin:

AddDefaultCharset UTF-8 
+0

yaptım Bu, zaten sahip olduğum şey ... Hala çalışmıyor. Hmmm .. Bazı alternatif varyasyonları deneyeceğim ... – cypher75