2016-04-02 19 views
0

Tablo için UTF8 GENERAL CI olarak veritabanı ayarlarını kullanıyorum.php kodu utf 8 karakter üretmiyor mu?

<?php 
class Article implements JsonSerializable{ 
    private $id; 
    private $title; 
    private $content; 

    public function getId() { 
     return $this->id; 
    } 

    public function getTitle() { 
     return $this->title; 
    } 

    public function getContent() { 
     return $this->content; 
    } 

    public static function getById($id) { 
     $db = newMysqli(); 
     $query = "select * from articles where _id=?"; 
     $stmt = $db->prepare ($query) or dieOnError ($db); 
     $stmt->bind_param ("i", $id) or dieOnError ($db); 
     $stmt->execute() or dieOnError ($db); 

     $member = new Article(); 
     $stmt->bind_result ($member->id, $member->title, $member->content); 
     $stmt->fetch() or dieOnError ($db); 
     $stmt->close(); 
     return $member; 
    } 

    public function jsonSerialize(){ 
     return get_object_vars($this); 
    } 

} 
+1

PHP kesinlikle burada değiştirilmemiş dizeleri çıkarır, sorun bu değil. Soru, size kodlayan karakterin, istemciye gönderdiği ve istemcinizin bu karakterler için aslında glifleri olan bir font kullandığı durumdur. – arkascha

+2

[UTF-8 yolun sonuna kadar] olası kopyası (http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –

+0

Tablo/sütun büyük olasılıkla 'CHARACTER SET latin1' . 'TABLO OLUŞTURUNU GÖSTER' görelim. –

cevap

0

: Ben şu PHP kodu kullanarak çıkışa çalıştığınızda Ama soru işaretleri

ardından

benim kodu ... UTF karakterleri (ı Bölgesel dil karakterleri yazdırmak için çalışıyorum) yerine göstermek Dosya kodlamasını UTF-8 olarak değiştirmeyi deneyin. (Notepad ++ içindeki kodlama menüsü -> UTF-8'e dönüştürün)