2010-12-14 24 views
5

Özel karakterlerle (fransız vurgu mezarı) veriyorum. Php script ve output (print) ile seçtiğimde iyi görünüyor. Smarty'ye geçtiğimde karakterler değişir. Benim html ayarı follwoing vardır: meta http-equiv = "content-type" content = "text/html; charset = utf-8" Eksik veya yanlış ne olduğundan emin değil misiniz?Smarty: özel karakterler değiştirilmediyse- utf8

gr Patrick

+0

Tarayıcıda, Görünüm -> Karakter kodlaması, utf-8 kodlamasını tanır mı? – Catalin

+0

Belki de sunucunuz içerik türü bir başlık gönderir. HTTP üstbilgileri, HTML meta etiketlerine göre önceliğe sahiptir. – rik

+0

Smarty dosyasını Notepad ++ ile açtığınızda, sağ altta ne görüyorsunuz? "ANSI UTF-8 olarak" görmelisiniz. Bu arada, sen kaçıyor musun? Bu durumda, ikinci parametreyi ona göndermelisiniz: http://www.smarty.net/docsv2/en/language.modifier'a göre: {$ var | escape: 'html': 'UTF-8'} .escape.tpl –

cevap

0

senin php dosyasının başında bu koyun ve kontrol edin:

// utf-8

başlık ("Pragma: no-cache"); header ('İçerik türü: text/html; charset = utf-8');

// (isteğe bağlı)

mb_detect_order (dizi ('UTF-8', 'ASCII')) UTF-8 kodlama Mbstring; mb_internal_encoding ('UTF-8'); mb_http_output ('UTF-8'); mb_regex_encoding ('UTF-8');