Решение проблем неправильной кодировкой веб-страницы. Кодировка страницы примеры и ошибки кодировок Http кодировка

Что такое кодировка страницы, вообще - для чего нужна кодировка страницы - она помогает браузеру правильно отображать содержимое страницы. Существует огромное количество кодировок, которое нам знать вообще ни к чему. И естественно, что возможны проблемы с кодировкой страницы.

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

Навигация по странице:

    Типы и виды кодировок

  1. Нас конечно же прежде всего интересуют кодировки, которые завязаны на русском языке.
    1.

    «utf-8» – это универсальная кодировка.

    «windows-1251» – это кириллица.

    И тут конечно же я должен сказать о собственно опыте, которому уже намечается 10 лет… так вот!

    В самом начале, когда я только начинал, я начинал с кодировки «windows-1251», но с этой кодировкой, постоянно возникали какие-то проблемы, сейчас уже вспомнить будет трудно, но в конце концов, я перешел на «utf-8»

  2. Что означает обозначение utf-8


  3. И конечно же нам требуется пару строк написать о том, что же собственно означает эта самая кодировка «utf-8»:
    UTF-8 (от англ. Unicode Transformation Format, 8-bit - «формат преобразования Юникода, 8-бит») - распространённый стандарт кодирования текста, позволяющий более компактно хранить и передавать символы Юникода, используя переменное количество байт (от 1 до 4), и обеспечивающий полную обратную совместимость с 7-битной кодировкой ASCII.

    Нам в принципе нужно, чтобы наши данные отображались на станице корректно…

  4. Как определить кодировку страницы?

  5. В открытом браузере нажимаем сочетание кнопок ctrl + U. Должна открыться дополнительная страница с кодом!
  6. Где находится кодировка страницу?

  7. Обычно кодировку ставят на странице в самом начале, вот пример кодировки, здесь кодировка страницы стоит на 4 строке. И имеет вид:

    Что означет, что страница сделана в кодировке utf-8.

    Это – одна из самых распространённых кодировок.

    Либо кириллическая кодировка:

  8. Как изменить кодировку страницы html

  9. Если это простая – физическая(файл) - , то вам просто её нужно открыть в каком-то редакторе и заменить кодировку на ту, которая вам требуется!
    Как изменить кодировку страниц, если у вас движок!? В каждом движке есть определенная логика. Как в любом скрипте. Как у обычной страницы у движка есть блоки, из которых он собирает эти страницы – вам просто нужно найти тот блок, который и выводит вашу кодировку в браузер…
  10. Пример неправильной кодировки.

  11. Иногда данная кодировка вызывает разные проблемы…

    К примеру некоторые хостинги, просто не поддерживают данную кодировку.

    Вот так будет выглядеть страница с нарушенной кодировкой.


  12. Почему на странице появляются кракозябры!?

  13. На самом деле есть несколько причин для возникновения так называемых кракозябр!
    1.

    Неправильная кодировка страницы, ну к примеру, если вы установите кодировку китайскую, а напишите кириллический текст, то что должно произойти!? Браузер просто сойдет с ума не зная, что вам показать и покажет кракозябры.

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

    3. Сервер не поддерживает данную кодировку!

  14. Как изменить неправильную кодировку!?

    1.

    Если идет речь о вашей странице на вашем сайте, то нужно открыть вашу страницу в блокноте и изменить кодировку страницы. Если сайт на движке, то нужно найти основную страницу, в которой прописана кодировка и изменить её на соответствующую!

    Если браузер неправильно трактует кодировку. То нужно разбираться с браузером.

    3. Если это проблема сервера, то стоит попробовать внести изменения в файл - .htaccess внеся в него такую надпись:

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

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

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

    То же самое происходит и с 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 для указания кодировки используется тег:

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

    Windows-1251 - Кириллица (Windows).
    KOI8-r - Кириллица (КОИ8-Р)
    cp866 - Кириллица (DOS).
    Windows-1252 - Западная Европа (Windows).
    Windows-1250 - Центральная Европа (Windows).
    UTF-8 - двух байтовая кодировка

    Теперь рассмотрим указание кодировки по умолчанию через файл.htaccess (если это файла нету, надо его создать, имя файла начинается с точки)

    AddDefaultCharset задает дефолтную таблицу символов (кодировку) для всех выдаваемых страниц на веб-сервере Apache

    Достаточно добавить 1 строку

    AddDefaultCharset UTF-8

    AddDefaultCharset WINDOWS-1251

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

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

    Влад Мержевич

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

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

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

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

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

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

    description

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

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

    description

    keywords

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

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

    keywords

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

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

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

    . Для операционной системы Windows и кириллицы charset обычно принимает значение utf-8 или windows-1251 (пример 4).

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

    Кодировка

    Кириллица

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

    Одна из самых частых проблем сайта - это его кодировка. И несмотря на это многие Web-мастера продолжают утверждать, что браузер сам выбирает кодировку. Действительно, он выбирает кодировку сам, но делает это не всегда правильно. Вот это и есть самая распространнёная ошибка с кодировкой: сайт в кодировке, допустим, UTF-8 , а браузер настойчиво выбирает windows-1251 . Вот как задать жёстко кодировку через файл htaccess , я расскажу в этой небольшой статье.

    Для того, чтобы задать кодировку файла в htaccess достаточно написать в нём всего одну строчку:

    AddDefaultCharset UTF-8

    Если Вам нужна windows-1251 , то тогда так:

    AddDefaultCharset WINDOWS-1251

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

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