Karakter sıkıntılardan set

2 Cevap php

Ben php ile inşa edilmiş küçük bir ajax uygulaması var.

PhpMyAdmin kullanarak ben utf-8 için bir mysql veritabanı belirledik, ve içine utf-8 verilerini içeren bir metin dosyası ithal var.

Bu my.cnf dosyasına karakter-set-server = utf8 ve default-character-set = utf8 ekledikten sonra, EasyPHP ile bir windows makinede iyi çalıştı.

Ben şimdi yapılandırma dosyasına erişimi olmayan bir üretim sunucusuna bu taşımak için çalıştık ve bu umlauts gibi karakterler gösterilmez.

Ben mysql verebilir bu düzeltmek için php kod (yapılandırma dosyası değil) ayarlanabilir bir şey, ya da bazı komut var mı?

Ben utf8_general_ci denemek için ALTER DATABASE phpMyAdmin ile vweb_50 DEFAULT KARAKTER SETİ utf8 collate utf8_bin denedim ama hiçbir fark yaptı.

2 Cevap

Orada burada yapılması gereken bir kaç şey var, ve ben Sorunu doğru anlamak emin değilim, ama ben yaparsam, ben bunun çoğu PHP fonksiyonları ile ele alınabilir düşünüyorum utf8_encode ve {[( 1)]}:

  • utf8_encode
    • UTF-8 için ISO-8859-1 dize kodlar
  • utf8_decode
    • Bu fonksiyon, ISO-8859-1, UTF-8 kodlanmış olduğu varsayılır, verilerin kodunu çözer.

Gerekirse de, htmlentities içine bakmak.

(Ben tavsiye ederim) uygulama boyunca UTF-8 kullanıyorsanız, utf8_encode/decode fonksiyonları gerekmez. Eğer sayfa servis kodlayan hangi kontrol ettiniz mi? Muhtemelen sunucu test ortamında utf-8 gönderir iken, charset olarak iso-8859-1 göndermek için yapılandırıldı. Content-Type başlığı ile kodlama ayarlayın:

header("Content-Type: text/html; charset=utf-8");