2010-12-14 3 views
5

У меня есть данные со специальными символами (французский ударный могильник). Когда я выбираю скрипт php и вывод (print), он выглядит отлично. Когда я перехожу к Smarty, персонажи меняются. Мой html имеет следующую настройку: meta http-equiv = "content-type" content = "text/html; charset = utf-8" Не знаете, что отсутствует или неверно?Smarty: специальные символы меняются невостребованные utf8

гр, Патрик

+0

В браузере, View -> Кодировка символов, распознает ли он кодировку utf-8? – Catalin

+0

Возможно, ваш сервер отправляет заголовок содержимого. Заголовки HTTP имеют приоритет над метатегами HTML. – rik

+0

Когда вы открываете файл smarty с помощью Notepad ++, что вы видите в правом нижнем углу? Вы должны увидеть «ANSI как UTF-8». Кстати, вы «убегаете»? В этом случае вы должны указать для него второй параметр: '{$ var | escape: 'html': 'UTF-8'}' согласно http://www.smarty.net/docsv2/en/language.modifier .escape.tpl –

ответ

0

Поместите это в начале ваш PHP файл и проверить:

// UTF-8

заголовок ("Pragma: нет кэша"); header ('Content-type: text/html; charset = utf-8');

// MBstring UTF8 кодирование (опционально)

mb_detect_order (массив ('utf8', 'ASCII')); mb_internal_encoding ('UTF-8'); mb_http_output ('UTF-8'); mb_regex_encoding ('UTF-8');

Смежные вопросы