Sdscompany.ru

Компьютерный журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Content type text html charset

Метатеги

Метатеги используются для хранения информации предназначенной для браузеров и поисковых систем. Например, механизмы поисковых систем обращаются к метатегам для получения описания сайта, ключевых слов и других данных.

Метатеги для поисковых механизмов

Среди разработчиков сайтов существует мнение, что правильно написанные метатеги позволяют подняться к верхним строчкам поисковых серверов. На самом деле это не так, на одних метатегах высоко не поднимешься, но и неудачно выполненное содержимое метатегов может ухудшить рейтинг сайта.

Два метатега предназначены специально для поисковых серверов: description (описание) и keywords (ключевые слова). Некоторые вебмастера добавляли в раздел keywords ключевые слова, которые не имеют никакого отношения к теме сайта, но зато пользовались определенным успехом среди посетителей поисковиков. Однако, через некоторое время, поисковые системы научились бороться с таким явлением и проверяют содержимое веб-страницы на соответствие заявленным ключевым словам.

Некоторые принципы, относящиеся к метатегам:

  • не включайте ключевые слова, которые не содержатся на ваших страницах;
  • не повторяйте ключевые слова;
  • используйте метатеги по их прямому назначению;
  • делайте описание и список ключевых слов различными для каждой страницы сайта с учетом содержимого.

description

Большинство поисковых серверов отображают содержимое поля description (пример 1) при выводе результатов поиска. Если этого тега нет на странице, то поисковый движок просто перечислит первые встречающиеся слова на странице, которые, как правило, оказываются не очень-то и в тему.

Пример 1. Использование Description

keywords

Этот метатег был предназначен для описания ключевых слов, встречающихся на странице (пример 2). Но в результате действия людей, желающих попасть в верхние строчки поисковых систем любыми средствами, теперь дискредитирован. Поэтому многие поисковики пропускают этот параметр.

Пример 2. Использование Keywords

Ключевые слова можно перечислять через пробел или запятую. Поисковые системы сами приведут запись к виду, который они используют.

Автозагрузка страниц

Чтобы автоматически загружать новый документ через определенный промежуток времени используется инструкция http-equiv=»refresh» (пример 3).

Пример 3. Автозагрузка страницы

Браузер поймет эту запись, как ожидать 5 секунд, а затем загрузить новую страницу, указанную в параметре URL , в данном случае это переход на сайт htmlbook.ru.

Этот метатег позволяет создавать перенаправление (редирект) на другой сайт. Если URL не указан, произойдет автоматическое обновление текущей страницы через количество секунд, заданных в атрибуте content .

Кодировка

Чтобы сообщить браузеру, в какой кодировке находятся символы веб-страницы, необходимо установить параметр . Для операционной системы Windows и кириллицы charset обычно принимает значение utf-8 или windows-1251 (пример 4).

Пример 4. Выбор текущей кодировки

Если указание кодировки отсутствует, браузер пытается сам определить, какой тип символов используется в документе и выбирает необходимую кодировку автоматически. Браузер не всегда может точно распознать язык веб-страницы и в некоторых случаях предлагает вьетнамскую кодировку вместо кириллицы. По этой причине лучше всегда указывать приведенную строчку. Тем не менее, возникают обстоятельства, когда указание кодировки может принести определенный вред. Например, веб-сервер автоматически использует перекодирование данных в KOI-8, а браузер, встретив параметр charset=windows-1251 , переводит текст в кодировку Windows. Получается двойное изменение символов, прочитать такой текст не просто. К счастью, подобная проблема уже отходит в прошлое, во всяком случае, ее легко можно выявить и нейтрализовать на уровне сервера.

Кодировка UTF – основной стандарт текста в интернете

Нужно правильно раскодировать сигналы, которые наш мозг получает из окружающей среды. Проще говоря, следует правильно « настроить » свой взгляд на жизнь. Ну, вроде не полупустой кошелек, а наполовину полный. То есть, требуется использовать нужную кодировку. Для интернета чаще всего правильной является кодировка utf :

Немного о кодировках

Наверное, не является секретом тот факт, что основным типом содержимого во всемирном веб-пространстве является текст. Конечно, сейчас с этим утверждением можно поспорить, но буквально какой-то десяток лет назад это было так.

Но передача текста в цифровом формате происходит совсем иначе, чем у нас на экране. Для перевода текста в машинный код используется двоичная система исчисления, состоящая лишь из 0 и 1.

Следующим этапом передачи текста в виртуальном пространстве является его отображение на клиентских машинах с помощью браузера, интерпретирующего html . Вот тут и начинается самое интересное, когда браузер клиента и веб-страница содержат в себе текстовые данные в разных кодировках. Тогда пользователь на своем мониторе видит не текст, а какие-то непонятные ( нечитаемые ) символы:


Чаще всего нужно всего лишь поменять кодировку веб-страницы на кодировку utf8. Ведь она является наиболее распространенной во всем интернете.

Кодировка UTF-8

Наиболее распространенная среди стандартизированных и общепринятых текстовых кодировок. Расшифровывается как « восьмибитный формат преобразования Юникода » или « Unicode Transformation Format ».

Стандарт был разработан еще в 1992 году. В настоящее время он широко применяется не только во всемирной паутине, но и на прикладном уровне ( локальные машины и операционные системы ). Основным достоинством кодировки является ее совместимость с ASCII:


ASCII («American standard code for information interchange») еще одна (но более старая) кодировка представления текстовых данных. В ее таблице символов значения печатных и непечатных знаков заданы с помощью чисел в шестнадцатеричной системе исчисления.

Читать еще:  Определить количество элементов в массиве php

При использовании UTF-8 для передачи данных в формате ASCII используются 7 первых битов. Последний ( восьмой ) служит для вывода « мусора » ( некорректно раскодированных данных ). Что при использовании кодировки для латинских символов существенно уменьшает объем текстовых данных.

Как уже говорилось, часто для корректного отображения текста достаточно лишь поменять кодировку документа. Рассмотрим, как это можно сделать в различных дисциплинах, применяемых для построения веб-пространства.

Как установить кодировку в HTML и PHP

Для установки utf 8 кодировки в html используется специальный тег . Он объединяет в себе в форме атрибутов значение метатегов.

Метатеги используются для передачи и хранения информации, предназначенной для браузеров и поисковиков. Одним из атрибутов тега является charset . Он служит для установки кодировки веб-страницы. Пример использования:


Также можно установить кодировку некоторым элементам страницы. Например, ссылке. Для этого также используется атрибут charset , значением которого выступает нужная кодировка:

Кроме этого можно присваивать значения непосредственно заголовкам http , которые передаются вместе с ответом на запрос от браузера к серверу. В таком случае кодировка сайта utf 8 , переданная через заголовок, будет доминирующей над значением, заданным внутри веб-страницы.

Многие из страниц ресурсов не являются статическими, а динамически создаются благодаря использованию серверных языков программирования. Чаще всего для построения сайтов применяют PHP . Поэтому важно знать о его средствах, позволяющих «на лету» поменять кодировку генерируемой веб-страницы.

Для установки и модификации значений заголовка используется функция header() . Ее синтаксис:

Чтобы корректно задать в php кодировку utf 8 , вызов функции header() в коде должен находиться выше всех тегов html .

Глобальные настройки кодировки

Описанные выше методы могут использоваться для отдельных веб-страниц или небольших сайтов. Но что делать, если вы имеете дело с ресурсом, состоящим из нескольких сотен страниц и десятка разделов? Давайте разберемся, как установить кодировку utf 8 для всего сайта.

Для этого нужно вносить изменения в дополнительный файл конфигурации ресурса. Он носит название .htaccess . Сначала его нужно открыть в любом текстовом редакторе, а затем добавить туда строку:


В качестве более глобального способа изменения кодировки стоит рассмотреть пример на основе любого локального сервера. Для большей наглядности мы возьмем Denwer , который довольно широко распространен в наших краях.

Чтобы изменить кодировку всех ресурсов, размещенных на нашем сервере Apache , нужно отредактировать содержимое конфигурационного файла httpd.conf . Он находится по пути:

Как и в предыдущем примере, в нем нужно заменить значение AddDefaultCharset на нужное. В нашем случае это utf-8 :

Изменение кодировки базы данных

Изменение кодировки рассмотрим на примере MySQL . Так как это одна из самых востребованных и распространенных СУБД, применяемых в сайтостроении. Все изменения можно произвести в файле my.ini . В Денвере он находится по пути:

Здесь нужно поменять значение нескольких полей на utf-8 :

  • default-character-set ;
  • character-set-server ;
  • init-connect = «set names» ;
  • default-character-set .

И затем добавить строку skip-character-set-client-handshake :


Подобные изменения можно внести не только для всех баз данных на сервере, но и для отдельно взятой в php базы mysql . Сделать это можно через пользовательский интерфейс оболочки PHPMyAdmin .

Сначала узнаем, какие кодировки установлены по умолчанию в нашей базе данных. Для этого вводим запрос SQL :

Вот какой ответ мы должны получить:


Если какие-либо значения нас не удовлетворяют, то нужно их изменить. Воспользуемся для этого запросом к ядру сервера СУБД:

В результате мы получим новые значения переменных character_set_connection , character_set_results и character_set_client.

К сожалению, не все так просто обстоит с изменением кодировки в таблицах Excel . Для этого придется воспользоваться сторонней программой для перекодирования файлов. Или обработать данные с помощью громоздких функций.

Мы рассмотрели все основные способы изменения веб-документов на кодировку utf . Надеемся, что этот материал поможет вам не только выбрать правильную кодировку текста, но и « установить » правильный взгляд на жизнь.

HTML Meta Charset – прописываем кодировку сайта

Автор статьи: Сергей Каминский

При создании сайта у начинающих веб-мастеров часто появляются вопросы: в какой кодировке делать сайт, чем отличается UTF-8 от windows-1251 и как ее прописывать в META Charset HTML-страницы сайта. Ответы на все эти вопросы в данной статье.

Что такое кодировка сайта и как она работает

Кодировку можно представить в виде таблицы, состоящей из разных букв, цифр и других символов понятных человеку, которые закодированы определенным образом. Когда вы открываете текстовый файл, к которым относятся в том числе HTML-страницы, то компьютер считывает из заголовка файла в какой кодировке он был сохранен и выводит текст в соответствующей кодировке преобразовывая компьютерные данные в вид понятный человеку сопоставляя эти данные с таблицей кодировки. Если информация о кодировке из заголовка файла совпадает с кодировкой в которой сохранены данные в HTML-странице, то пользователь видит привычные ему буквы, цифры и другие символы. Если же есть несовпадение, то в результате пользователю выводится непонятный набор символов, особенно часто это происходит в старых почтовых программах. Если пользователь получил письмо с непонятными крякозябрами, то просто перебирая разные кодировки, обычно получается угадать и выбрать ту, в которой написано письмо, и в результате непонятный набор символов превращается в понятный человеку текст.

Читать еще:  Просмотр html android

То же самое происходит и с HTML-страницами сайта. Если документ был сохранен, например, в кодировке UTF-8, а в самом документе прописан META-тег указывающий что это кодировка windows-1251, то браузер опять же будет сопоставлять сохраненные в файле данные с таблицей указанной ему кодировки и так как символы закодированы по-разному, то браузер выведет вместо привычного текста непонятный набор символов или же часть букв может быть в нормальном виде, а другие буквы или символы могут выводиться, например, в виде знаков вопроса. Все выше сказанное относится в том числе и к отображению имен файлов.

Создавая новый документ в текстовом редакторе лучше сразу убедиться что выбрана нужная кодировка. Современные редакторы позволяют преобразовать текст открытого документа из одной кодировки в другую, а стандартный Блокнот позволяет выбрать кодировку только при сохранении файла.

Самые распространенные кодировки

Из предыдущего пункта вы уже знаете что такое кодировка и почему настолько важно правильно прописать ее в коде страниц сайта. Давайте теперь выясним какую из множества кодировок лучше выбрать для будущего сайта. Поскольку самой распространенной и наиболее понятной в освоении всегда была операционная система Windows, то большинство веб-разработчиков создавали HTML-страницы в кодировке windows-1251 (ANSI), которая использовалась по-умолчанию. Но windows-1251 поддерживает не очень большое количество букв и символов, а разработчики хотят использовать в своих текстах различные стрелочки, сердечки, квадратики и другие символы, в том числе есть необходимость совмещать слова из разных языков в одном документе, поэтому на смену ей уже давно пришла более расширенная UTF-8 и большинство разработчиков используют именно эту кодировку.

Проблемы с кодировкой не только в HTML-странице

Сайт, независимо от того является ли он просто набором статических HTML-документов или сложных динамических скриптов генерирующих страницы на лету, размещается на веб-сервере, который также работает с определенной кодировкой. И если сервер выдает информацию в одной кодировке, а ваши страницы или скрипты сохранены в другой кодировке, то опять же могут быть проблемы с отображением страниц в браузере пользователя. Многие хостинги позволяют менять настройки и выбрать кодировку в соответствии с той, которая используется в файлах сайта, через панель управления или же прописать ее в файле .htaccess, если на хостинге используется популярный веб-сервер Apache.

Практически ни один современный сайт не обходится без использования базы данных MySQL и она также может стать источником проблем с кодировкой. Если файлы сайта сохранены в одной кодировке, а информация в базе данных в другой, то на странице та часть информации, которая выводится из базы данных может отображаться в виде все тех же знаков вопросов или других непонятных символов. Чтобы избежать проблем с кодировкой она должна быть одинаковой для веб-сервера, базы данных MySQL, в скриптах, в HTML-страницах сайта и в META-теге, который прописывается в HTML-коде. Если есть проблемы с отображением текста, то проверяйте на наличие проблемы все выше перечисленное.

META Charset HTML-документа

Чтобы сообщить браузеру и поисковым системам в какой кодировке сохранены страницы сайта в их коде прописывается META Charset.

Для кодировки windows-1251:

Для кодировки UTF-8:

Теперь вы знаете что такое кодировка сайта и где искать проблемы если в какой-либо части сайта неправильно отображается текст.

Другие записи по теме в разделе статьи по HTML и CSS

Настройка параметра HTTP charset

Intended audience: разработчики скриптов (PHP, JSP, и т.д.), веб-мастера, менеджеры веб-проектов, и каждый, кто хочет понять, как установить или отправить HTTP charset информацию.

Когда сервер отправляет документ клиентскому приложению (например, браузер), он также отправляет информацию в поле Content-Type сообщая заголовок HTTP о том, какой это тип данных. Эта информация выражается с помощью отметки MIME. Эта статья должна стать отправной точкой для тех, кто должен установить информацию о кодировке в заголовке HTTP.

Параметр charset

Документы, переданные с HTTP, которые имеют следующие типы текста: text/html, text/plain, и т.д., могут послать charset параметр к заголовку HTTP, чтобы указать кодировку символов документа.

Это очень важно всегда явно отмечать Веб документы. В HTTP 1.1 говорится, что по умолчанию charset должен быть ISO-8859-1. Но есть очень много неотмеченных документов в других кодировках, поэтому когда нет явного параметра charset браузеры используют то кодирование, которое предпочитает читатель.

Обычно строка в заголовке HTTP выглядит следующим образом:

Content-Type: text/html; charset=utf-8

Теоретически, любая кодировка символов, которая была зарегистрированная IANA может использоваться, но нет браузера, который всех их понимает. Чем более широко будет использоватся кодирование символов, тем выше вероятность того, что браузер будет его понимать. Такое кодирование Unicode, как UTF-8 является хорошим выбором по ряду причин.

Установка сервера

Как сделать так, чтобы сервер посылал соответствующую charset информацию зависит от сервера. Чтобы иметь возможность изменять настройки сервера вам понадобятся соответствующие административные права.

Apache. Это можно сделать с помощью AddCharset (Apache 1.3.10 и позднейшие) или директив AddType для каталогов или отдельных ресурсов (файлов). С помощью AddDefaultCharset (Apache 1.3.12 и позднейшие), можно установить параметр charset по умолчанию для всего сервера. Дополнительные сведения смотрите в статье Настройка ‘charset’ информации в .htaccess.

Читать еще:  Commentaire php id

Jigsaw. Используйте indexer в JigAdmin , чтобы связать расширения с charset, или установить charset непосредственно на ресурсе .

IIS 5 и 6. В Internet Services Manager, щелкните правой кнопкой мыши «Default Web Site» (или сайт, который нужно настроить) и перейдите к «Properties» => «HTTP Headers» => «File Types. » => «New Type. «. Поставьте расширение, которое вы хотите отобразить, отдельно для каждого расширения; вероятно пользователи IIS захотят, отобразить .htm, .html. Тогда добавьте к Content type » text/html;charset=utf-8 » (без кавычек; замените желаемый вами charset на iso-8859-1; нигде не оставляйте пробелы, поскольку IIS игнорирует весь текст после пробелов). Для IIS 4, вам возможно, придется использовать «HTTP Headers» => «Creating a Custom HTTP Header» если выше указанная схема не работает.

Скриптовий заголовок

Соответствующий заголовок можно также установить в server side scripting languages (скриптовые языки сервера). Например:

Perl. Выведите правильный заголовок перед любой частью текущей страницы. После последнего заголовка, используйте двойной linebreak (разрыв строки), например:
print «Content-Type: text/html; charset=utf-8nn»;

Python. Используйте то же решение, что и для Perl (кроме того, что в конце вам не нужно использовать точку с запятой).

PHP. Перед созданием любого контента используйте функцию header(), например:
header(‘Content-type: text/html; charset=utf-8’);

Content type text html charset

На страницах сайта есть тэг

Но у некоторых людей сайт все равно по умолчанию открывается в других кодировках. Как можно это побороть?

Примечание:
1. Хостинг в Америке, там никакие настройки менять не будут.
2. Подозреваю, что у тех людей, у которых возникают проблемы, русский язык в системе не стоит.

Добавление от 11.10.2003 05:48:

Хостинг в Америке, там никакие настройки менять не будут.

Там настройки менять и не надо. Надо иметь доступ к .htaccess

Если тэг правильно синтаксически написать — как Van Grieg указал, то хоть в Америке, хоть в Японии браузер сразу автоматически переключится на эту кодировку, никогда не будет открываться в других кодировках. Читатель это легко может проверить —
например, в Internet Explorer, если он пойдёт в View/Encoding, то увидит, что ‘галка’ стоит у
Cyrillic(Window) (что и есть 1251).

Тима,
А при чём здесь CGI? Ведь речь идёт о браузере, а к нему приходит уже ‘готовый’ HTML текст, как бы он ни был ‘приготовлен’ — заранее как статический, или динамически с помощью CGI или JSP или ASP или чего другого на сервере.

> сработает не всегда
А когда сработает и когда нет? Мистика?

Нет, мистики никакой нет — спасибо, что меня поправили!

> Оговорюсь сразу, что в случае статических HTML это правильно.

Нет, даже и в случае статических HTML это иногда неверно, т.е. я был не прав и браузер может не слушаться META. charset=

Есть стандарты и вот что они говорят:
Кодировку браузеру можно сообщить 2-мя способами:
а) через HTML тэг META. charset=
При этом совершенно неважно как эта строчка появилась после тэга HEAD —
была ли она там изначально (статический HTML) или была сгенерирована на сервере
посредством CGI — браузер уже про это не знает, к нему ‘приезжает’ готовый HTML текст, где после тэга HEAD есть строка

б) Кодировку можно так же сообщить браузеру через поле Charset, находящегося в
HTTP Header, посылаемом сервером одновременно с самой страницей
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).

Этот способ считается более правильным, но автор тогда должен иметь контроль над сервером —
например, если сервер — Апаче, то надо иметь права модификации .htaccess (там и записывается кодировка, и потом передаётся в HTTP Header), о чём Van Grieg написал.

Согласно стандартам, задание кодировки через HTTP Header более приоритетно, чем задание её в
META. charset=.
Поэтому, если некий американский сервер задаёт Charset=iso-8859-1 («Western») в HTTP Header
для всех страниц всех своих пользователей, то можно до посинения задавать
META. charset=windows-1251
в своём HTML файле — браузер всё равно будет думать, что это кодировка
iso-8859-1.

Часто у автора нет контроля над настройкой сервера. Например, мой Интернет-Провайдер (в США) —
CompuServe — не даёт мне возможности так настраивать Web Server, поэтому приходится кодировку задавать в HTML тэге META. charset=

Это работает — ТОЛЬКО потому, что CompuServe не заполняет поле Charset, когда формирует HTTP Header!

Как проверить, что делает конкретный Провайдер? Задаёт ли кодировку и какую в HTTP header?
Легко. Надо сделать страницу БЕЗ тэга META. charset= и пойти на сайт
‘Просмотр HTTP Header’ — http://www.delorie.com/web/headers.html
задав там адрес этой своей страницы.

Если увидите, что поле Charset не пусто, и там — нерусская кодировка, то это и есть разгадка проблемы почему браузер на русский сам не переключается.
Если же поле Charset пусто, то можно смело писать строку META. charset= в своём HTML коде —
вот тут браузер ВСЕГДА автоматически на неё переключится.

Фу.

Ссылка на основную публикацию
Adblock
detector