[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Первый скрипт, Кодировка (IRBIS-school)
stunary
Здравствуйте!

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 строки?
<?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 местах(!!!). Если хочешь, чтобы проблем не было вообще на сайте.

Спустя 5 часов, 46 минут, 49 секунд (30.07.2012 - 21:03) Guest написал(а):
Цитата (Winston @ 30.07.2012 - 16:01)
<?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++->Кодировки

Как ты вызываешь скрипт
Первый скрипт в уроках не выводит дату и время, а выводит в просто:

Все равно тот же "Сегодня Привет, мир!" без даты:(

Блокнот у меня обычный. Я пишу в Проекте Ирбис-школы (скачала программу).

По поводу открытия:
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

Вот так будет правильно
http://example.ir/index.php

Спустя 29 секунд (30.07.2012 - 21:05) inpost написал(а):
ПХП - это код, которые не относится к выводу. Тут идёт идея в том, что перед доктайпом не должно быть вывода информации на экран.
Если пхп пишет echo - то это нарушение, так как будет вывод данных на экран, а обычные функции типа кодировок - только плюс для кода. В дальнейшем вся логическая часть обработки данных у тебя в любом случае будет находиться до вывода информации на экран, а доктайп и есть вывод информации на экран...

Спустя 4 минуты, 38 секунд (30.07.2012 - 21:10) stunary написал(а):
Цитата (Winston @ 30.07.2012 - 22:05)
Цитата (Guest @ 30.07.2012 - 22:03)
file:///Z:/home/example.ir/www/index.php

Вот так будет правильно
http://example.ir/index.php

О! Класс, спасибо! Все получилось))

Guest - это была я. Не дописала сообщение: кодировку Вы мне настроили, большое спасибо!;)

Спустя 1 минута, 52 секунды (30.07.2012 - 21:12) stunary написал(а):
Цитата (inpost @ 30.07.2012 - 22:05)
ПХП - это код, которые не относится к выводу. Тут идёт идея в том, что перед доктайпом не должно быть вывода информации на экран.
Если пхп пишет echo - то это нарушение, так как будет вывод данных на экран, а обычные функции типа кодировок - только плюс для кода. В дальнейшем вся логическая часть обработки данных у тебя в любом случае будет находиться до вывода информации на экран, а доктайп и есть вывод информации на экран...

Ага, все ясно! Спасибо! 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

Спустя 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.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.