2010-12-14 22 views
5

Ho dati con caratteri speciali (tomba d'accento francese). Quando seleziono con php script e output (print) sembra buono. Quando passo a Smarty i personaggi vengono cambiati. Il mio html ha impostazione follwoing: meta http-equiv = "content-type" content = "text/html; charset = utf-8" Non sai cosa manca o non è corretto?Smarty: caratteri speciali vengono cambiati non desiderati- utf8

gr, Patrick

+0

Nel browser, Visualizza -> Codifica caratteri, riconosce la codifica utf-8? – Catalin

+0

Forse il tuo server invia un'intestazione del tipo di contenuto. Le intestazioni HTTP hanno la precedenza sui meta tag HTML. – rik

+0

Quando apri il file smarty con Notepad ++, cosa vedi in basso a destra? Dovresti vedere "ANSI come UTF-8". A proposito, stai '| fuga'? In questo caso, dovresti fornire il secondo parametro: '{$ var | escape: 'html': 'UTF-8'}' come http://www.smarty.net/docsv2/en/language.modifier .escape.tpl –

risposta

0

mettere questo all'inizio del file di vostro php e controllare:

// utf-8

intestazione ("Pragma: no-cache"); intestazione ('Content-type: text/html; charset = utf-8');

// mbstring codifica UTF8 (opzionale)

mb_detect_order (array ('utf8', 'ASCII')); mb_internal_encoding ('UTF-8'); mb_http_output ('UTF-8'); mb_regex_encoding ('UTF-8');