karakteri nasıl kaldırılır

4 Cevap php

Çok garip bir sorun var. İki sunucu çalıştıran bir php web sitesi var. Bir Apache (Linux) ve ikinci IIS (WIndow) üzerindedir. Linux Sunucu, ben sadece demo için çalıştırın. IIS Ben barındırması gereken gerçek ev sahipliği yapıyor. Hatta tüm aynı kodla, veritabanı, linux sunucu, hiçbir  karakter var. Ancak IIS, her yerde karakterleri  var. Ben utf-8 değil, tüm meta etiketi kontrol etti. Veritabanı harmanlama utf-8 de. MySQL veritabanı, i bu  karakter var, ama biz veritabanından içeriği getir zaman nasılsa, linux de, bu bir gösteri değil. Sadece IIS üzerinde oluyor. Herkes nasıl ben bu çözebilirsiniz işaret edebilir? Teşekkür ederim.

4 Cevap

Ben bir süre önce benzer bir sorunu vardı, bazı yararlı yorumlar ve bilgiler var burada - PHP ama ben teori aynı olacağına inanıyorum: Question 386378

Ayrıca HTTP başlıklarında UTF-8 belirtmeniz gerekir. PHP ile:

<?php
header('Content-Type: text/plain; charset=utf-8');
?>

Apache:

AddDefaultCharset UTF-8

Apache ayar bir .htaccess dosyaya yerleştirilebilir.

Ben utf-8 değil, tüm meta etiketi kontrol etti.

Tarayıcı meta etiketi yorumlamak değildir. Hiçbir http-headers mevcut olduğunda sadece bir geri dönüş var. Sağ tıklayın ve tarayıcıyı actually içeri sayfasını yorumluyor kodlayan ne görmek için "Sayfa Bilgisi" seçeneğini seçin

Veritabanı harmanlama utf-8 de. MySQL veritabanında

Collation karakter görüntüleme ilgisizdir. charset Ancak önemli. Yani bağlantı charset yapar.

Fiddler veya Firebug gibi bir şey kullanarak doğrudan html yanıtları teftiş sahipsiniz. (Tam olarak aynı metni iade edilmelidir) IIS / Apache gelen tepkiler olup olmadığını görmek için kontrol edin:

  • Farklı veri
  • Farklı başlıklar

Hangi karakter kodlamasının (utf-8, ISO / IEC 8859-1 Latin-1, vb) döndürülen metin içeri demeliyim Content-Type üstbilgisi, özellikle dikkat