2 вопроса по начальным урокам IRBIS-school:
1. Кодировка в браузере IRBIS-school автоматически определяется как Кириллица, а не UTF-8 (меняю каждый раз вручную), несмотря на наличие строки "AddDefaultCharset utf-8" в конце конфигураций Apache.
То же и в Мозилле, но это уже вопрос не сюда, пожалуй)
2. Первый скрипт в уроках не выводит дату и время, а выводит в просто:
Сегодня
Привет, Мир!
Вот сам код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>Мой первый сайт</title>
</head>
<body>Сегодня <?php echo date('Y-m-d h:i:s'); ?><br />
<span style="color:red">Привет</span>, Мир!
</body>
</html>
Пыталась извратиться по-всякому, искала по поиску, но безуспешно:(
Помогите, кто чем может, пжл!
Спустя 1 минута, 51 секунда (30.07.2012 - 15:01) Winston написал(а):
<?php header('Content-Type: text/html; charset=utf-8'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Мой первый сайт</title>
</head>
<body>Сегодня <?php echo date('Y-m-d h:i:s'); ?><br />
<span style="color:red">Привет</span>, Мир!
</body>
</html>
И еще кодировку в файле посмотри. Notepad++->Кодировки
Как ты вызываешь скрипт
Первый скрипт в уроках не выводит дату и время, а выводит в просто:
Спустя 10 минут, 59 секунд (30.07.2012 - 15:12) kamanch написал(а):
Winston
А какой смысл писать 2 строки?
Масло масленное?
А какой смысл писать 2 строки?
<?php header('Content-Type: text/html; charset=utf-8'); ?>
.....
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Масло масленное?
Спустя 4 минуты, 5 секунд (30.07.2012 - 15:16) inpost написал(а):
kamanch
огромный. В противном случае будут проблемы. А вообще, в моём блоге расписано, что надо прописывать кодировку в 11 местах(!!!). Если хочешь, чтобы проблем не было вообще на сайте.
огромный. В противном случае будут проблемы. А вообще, в моём блоге расписано, что надо прописывать кодировку в 11 местах(!!!). Если хочешь, чтобы проблем не было вообще на сайте.
Спустя 5 часов, 46 минут, 49 секунд (30.07.2012 - 21:03) Guest написал(а):
Цитата (Winston @ 30.07.2012 - 16:01) |
<?php header('Content-Type: text/html; charset=utf-8'); ?> И еще кодировку в файле посмотри. Notepad++->Кодировки Как ты вызываешь скрипт Первый скрипт в уроках не выводит дату и время, а выводит в просто: |
Все равно тот же "Сегодня Привет, мир!" без даты:(
Блокнот у меня обычный. Я пишу в Проекте Ирбис-школы (скачала программу).
По поводу открытия:
file:///Z:/home/example.ir/www/index.php - открываю в браузере Ирбис-школы, выдает без даты. Firefox, естессна, php-док не открывет.
Создала для интереса new.html, перенесла туда тот же код - все равно то же самое, без даты: file:///Z:/home/example.ir/www/new.html
И, кстати, читала, что перед <!DOCTYPE (...)> ничего в файле идти не должно - даже пробел может мешать нормальной работе. <?php> - исключение? (я совсем новичок в этом языке:))
Спустя 2 минуты, 10 секунд (30.07.2012 - 21:05) Winston написал(а):
Цитата (Guest @ 30.07.2012 - 22:03) |
file:///Z:/home/example.ir/www/index.php |
Спустя 29 секунд (30.07.2012 - 21:05) inpost написал(а):
ПХП - это код, которые не относится к выводу. Тут идёт идея в том, что перед доктайпом не должно быть вывода информации на экран.
Если пхп пишет echo - то это нарушение, так как будет вывод данных на экран, а обычные функции типа кодировок - только плюс для кода. В дальнейшем вся логическая часть обработки данных у тебя в любом случае будет находиться до вывода информации на экран, а доктайп и есть вывод информации на экран...
Если пхп пишет echo - то это нарушение, так как будет вывод данных на экран, а обычные функции типа кодировок - только плюс для кода. В дальнейшем вся логическая часть обработки данных у тебя в любом случае будет находиться до вывода информации на экран, а доктайп и есть вывод информации на экран...
Спустя 4 минуты, 38 секунд (30.07.2012 - 21:10) stunary написал(а):
Цитата (Winston @ 30.07.2012 - 22:05) | ||
|
О! Класс, спасибо! Все получилось))
Guest - это была я. Не дописала сообщение: кодировку Вы мне настроили, большое спасибо!;)
Спустя 1 минута, 52 секунды (30.07.2012 - 21:12) stunary написал(а):
Цитата (inpost @ 30.07.2012 - 22:05) |
ПХП - это код, которые не относится к выводу. Тут идёт идея в том, что перед доктайпом не должно быть вывода информации на экран. Если пхп пишет echo - то это нарушение, так как будет вывод данных на экран, а обычные функции типа кодировок - только плюс для кода. В дальнейшем вся логическая часть обработки данных у тебя в любом случае будет находиться до вывода информации на экран, а доктайп и есть вывод информации на экран... |
Ага, все ясно! Спасибо!
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
Спустя 39 минут, 32 секунды (30.07.2012 - 21:51) kamanch написал(а):
Цитата (inpost @ 30.07.2012 - 13:16) |
kamanch огромный. В противном случае будут проблемы. А вообще, в моём блоге расписано, что надо прописывать кодировку в 11 местах(!!!). Если хочешь, чтобы проблем не было вообще на сайте. |
Где блог?
Спустя 7 минут, 46 секунд (30.07.2012 - 21:59) inpost написал(а):
kamanch
Да не, просто я говорю, что он существует
Да не, просто я говорю, что он существует
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
Спустя 2 часа, 23 минуты, 6 секунд (31.07.2012 - 00:22) kamanch написал(а):
inpost
Ну тогда поясни, чем может быть вызвана проблема, если есть
но нет
Ну тогда поясни, чем может быть вызвана проблема, если есть
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
но нет
<?php header('Content-Type: text/html; charset=utf-8'); ?>
Спустя 10 часов, 14 минут, 49 секунд (31.07.2012 - 10:37) inpost написал(а):
kamanch
В двух словах - кодировку неправильно выставит браузер и будут крякозябры. Это №1.
№2 - Мета данные кодировки - это для БРАУЗЕРА, установка кодировки через заголовки так же влияет на кодировку текста, который будет обработан, а в дальнейшем выведен в браузере (байт-код у символах в разных кодировках иной), поэтому и получаются крякозябры в тексте.
А если интересует опыт личный - крякозябры иногда бывали как у меня, так и у моих людей, которые просто забывали передать кодировку заголовками. Если спрашивать о рациональности, то как раз второй вариант можно оставить без первого(!!!). Так как кодировка будет работать отлично абсолютно во всех браузерах если её передавать в виде заголовков через header(), но при этом появляется уязвимость для старых браузеров, которые требуют первой строчкой указывать кодировку через мета.
Иного получаем, что необходимо указывать кодировку в обоих местах. Если на данный момент ты не столкнулся с таким кодом, который глючит, то это не значит, что его не бывает.
Ах да, кодировку ещё может отправлять сервер дефолтную через header() , если ты явно не указываешь конкретную. Данная проблема решена в новых версиях ПХП, потому что теперь там дефолтная везде (даже для библиотеки mb_) будет UTF-8.
В двух словах - кодировку неправильно выставит браузер и будут крякозябры. Это №1.
№2 - Мета данные кодировки - это для БРАУЗЕРА, установка кодировки через заголовки так же влияет на кодировку текста, который будет обработан, а в дальнейшем выведен в браузере (байт-код у символах в разных кодировках иной), поэтому и получаются крякозябры в тексте.
А если интересует опыт личный - крякозябры иногда бывали как у меня, так и у моих людей, которые просто забывали передать кодировку заголовками. Если спрашивать о рациональности, то как раз второй вариант можно оставить без первого(!!!). Так как кодировка будет работать отлично абсолютно во всех браузерах если её передавать в виде заголовков через header(), но при этом появляется уязвимость для старых браузеров, которые требуют первой строчкой указывать кодировку через мета.
Иного получаем, что необходимо указывать кодировку в обоих местах. Если на данный момент ты не столкнулся с таким кодом, который глючит, то это не значит, что его не бывает.
Ах да, кодировку ещё может отправлять сервер дефолтную через header() , если ты явно не указываешь конкретную. Данная проблема решена в новых версиях ПХП, потому что теперь там дефолтная везде (даже для библиотеки mb_) будет UTF-8.