PHP: включая страницы - HTML-теги или нет? - PullRequest
1 голос
/ 23 сентября 2011

Я разрабатываю шаблон для веб-страницы и создаю отдельные части шаблона на разных страницах, которые все будут включены в одну страницу (т. Е. Leftdiv.php, maindiv.php, header.php, footer.PHP и т. д.).Сайт будет содержать греческие символы, и я использую кодировку utf-8.

Теперь у меня есть leftdiv.php, который содержит греческие символы, но я пропустил html и метатеги, которые определяют кодировку страницы, и в результате у меня возникают проблемы с отображением страницы в правильной кодировке,вероятно, потому что когда index.php требует leftdiv.php, мета-тег для правильной кодировки отсутствует.Должен ли я оставить метатеги на каждом включенном файле или нет?Какие еще варианты у меня есть?

Ответы [ 6 ]

2 голосов
/ 23 сентября 2011

Я предполагаю, что при загрузке файла происходит ошибка.Попробуйте двоичный режим (ftp), так как некоторые символы могут не быть символами ascii.

Далее;не беспокойтесь о метатегах и т. д. в части шаблона;при выводе в браузер все части объединяются php и отправляются как одна html-страница.Браузер ничего не знает о ваших разных частях, просто видит всю картину.Так что проверьте источник HTML в вашем браузере.Если источник правильно размечен, и правильный метатег находится в, все должно быть в порядке.Чтобы проверить это, просто загрузите простой HTML-файл.Если это работает, распространите его на разные части.

2 голосов
/ 23 сентября 2011

Метатеги не имеют значения.

Вы должны настроить кодировку в HTTP-заголовках real , а не в мета-подстановке.
Итак, установите кодировку в коде PHP с помощью

header('Content-type: text/html; charset=utf-8');

и оставьте метатеги в покое.

Мне также интересно, почему вы используете столько файлов шаблонов (leftdiv.php, header.php, footer.php и т. д.) вместо того, чтобы помещать их все в один основной шаблон.

1 голос
/ 23 сентября 2011

Вы должны хранить файлы с кодировкой UTF-8 на вашем диске. Тогда метатег в порядке, не отправляя дополнительный заголовок.

<meta charset="UTF-8" />
0 голосов
/ 23 сентября 2011

Браузер ничего не знает о ваших разных частях, просто видит всю картинку.Так что проверьте источник HTML в вашем браузере.

0 голосов
/ 23 сентября 2011

если вы установите header('Content-type: text/html; charset=utf-8'); со страницей, сохраненной с использованием кодировки UTF-8, все будет хорошо.

0 голосов
/ 23 сентября 2011

Метатеги должны быть только в разделе заголовка страницы. И под страницей я имею в виду документ, который отображается вашим веб-браузером, а не сценарии PHP за ним. Так что не помещайте метатеги в footer.php, например.

...