Поменять кодировку html файла
Как кодировка влияет на отображение сайта, чем отличается UTF-8 от Windows 1251 и где указать кодировку.
В статье:
Разбираем, на что влияет кодировка, нужно ли указывать ее самостоятельно, и почему могут появиться так называемые «кракозябры» на сайте.
Если кодировка не отображается
Главное правило — для всех файлов, скриптов, баз данных сайта и сервера должна быть указана одна кодировка. Ошибка может возникнуть, если вы случайно указали на сайте разные виды кодировки.
Яндекс советует использовать одинаковую кодировку для страниц и кириллических адресов структуры. К примеру, если робот встретит ссылку href="/корзина" на странице с кодировкой UTF-8, он сохранит ее в этом же UTF-8, так что страница должна быть доступна по адресу "/%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0".
Где указать кодировку сайта
Если проблема возникла на вашем сайте, способ исправления зависит от вида сайта. Для одностраничника достаточно указать кодировку в мета-теге страницы, а для большого сайта есть разные варианты:
- кодировка в мета-теге;
- кодировка в .htaccess;
- кодировка документа;
- кодировка в базе данных MySQL.
Как определить кодировку на сайте
Определить кодировку страницы своего или чужого сайта можно через исходный код страницы. Откройте страницу сайта, выберите «Просмотр кода страницы» (сочетание горячих клавиш Ctrl+U» в Google Chrome) и найдите упоминание «charset» внутри тега head.
На странице сайта используется кодировка UTF-8:
Указание кодировки в коде страницы
Узнать вид кодирования можно с помощью «Анализа сайта». Сервис проверяет в том числе и техническую сторону ресурса: анализирует серверную информацию, определяет кодировку, проверяет редиректы и другие пункты.
Фрагмент анализа серверной информации сайта
Отчет о технических данных
Кодировка сервера и страницы
Проверить кодировку еще можно через сервис Validator.w3, о котором писали в статье о проверке валидации кода. Нужная надпись находится внизу страницы.
Кодировка сайта в валидаторе
Если валидатор не обнаружит Charset, он покажет ошибку:
Ошибка указания кодировки
Но валидатор работает не точно: он проверяет только синтаксис разметки, поэтому может не показать ошибку, даже если кодирование указано неправильно.
Типы кодировок
Существует несколько типов кодировок:
Существуют и другие типы кодировок, но они используются в меньшей степени либо не используются вообще.
Как определить кодировку на сайте
Узнать кодировку своего или чужого сайта довольно просто, достаточно просмотреть исходный код страницы. Сделать это можно следующим образом:
- Открываем сайт, на котором необходимо посмотреть кодировку, и кликаем правой кнопкой мыши по любой области. В отобразившемся меню выбираем «Просмотр кода страницы». Также можно воспользоваться комбинацией клавиш «CTRL+U».
- В результате перед нами отобразится новое окно с кодом страницы – в нем воспользуемся комбинацией клавиш «CTRL+F» для поиска строки, отвечающей за кодировку веб-страницы. Вводим запрос «charset» и смотрим результат.
Кодировка Базы данных
Выбирайте нужную кодировку сразу при создании базы данных. Распространенный вариант — «UTF-8 general ci».
Где менять кодировку у БД:
С новой БД проще, но если вы меняете кодировку у существующей базы, то у созданных таблиц и колонок заданы свои кодировки, которые тоже нужно поменять.
Для всех таблиц, колонок, файлов, сервера и вообще всего, что связано с сайтом, должна быть одна кодировка.
Проблема может не решиться, если все дело в кодировке подключения к базе данных. Что делать:
- Подключитесь к серверу с правами mysql root пользователя:
mysql -u root -p - Выберите нужную базу:
USE имя_базы; - Выполните запрос:
SET NAMES 'utf8’;
Если вы хотите указать Windows-1251, то пишите не «utf-8», а «cp1251» — обозначение для кодировки Windows-1251 у MySQL.
Чтобы установить UTF-8 по умолчанию, откройте на сервере my.cnf и добавьте следующее:
5 / 5
В этой статье мы расскажем о том, как изменить кодировку страницы так, чтобы русский символы отображались нормально, а не как различные кракозябры.
Если вы открываете страницу, а там на месте кириллицы отображаются знаки вопроса:
Или в случае, когда русские буквы заменяются на кракозябры:
То для того, чтобы вернуть страницу к нормальному виду вам нужно проверить две вещи:
- Правильная ли кодировка стоит у самого файла html или php страницы
- Правильная ли кодировка стоит в мета-тэгах страницы
Бывает так же ещё проблема в сервере, на котором отображается страница, там тоже может стоять неправильная кодировка, но этот случай мы разбирать не будем.
Если у вас стоит неправильная кодировка у самого файла
Тогда при записи русскоязычных слов в коде страницы при сохранении вам будет выдаваться предупреждение о неправильной кодировке страницы, выглядеть это будет примерно так:
Здесь говориться примерно следующее.
"Документ имеет не корректную кодировку, при сохранении файла некоторые символы будут сохранены не верно. Чтобы решить проблему поменяйте кодировку файла на UTF-8 "
Такая проблема может коснутся любого файла, не обязательно HTML , но и, например, CSS или JS .
Для того, чтобы изменить кодировку файла, необходимо открыть его в стандартном Блокноте , который есть на всех Windows ОС . При сохранении в выпадающем списке выбрать кодировку UTF-8 , изменить тип файла на Все файлы и подтвердить сохранении. Теперь всё это же но в картинках:
Не правильная кодировка стоит в мета-тэгах страницы
Где посмотреть кодировку в мета-тэгах? Открываем код страницы и ищем в разделе такую строчку:
Как вы уже поняли, нас интересует строка < meta charset = "utf-8" >, она то и задает кодировку документа, если у вас отсутствует этот тег или в качестве значения атрибута charset стоит какое-то другое значение, то измените его на utf-8 .
Нужно физически изменить кодировку нескольких .html файлов. Обычно это делается через «Сохранить как» с указанием нужной нам кодировки. Но есть более простой способ.
Решение
Нам понадобится программа HTML Changer (автор: Еманов Алексей).
Форматы файлов, поддерживаемых программой: .asp, .htm, .html, .inc, .js, .php, .phtml, .rtf, .shtm, .shtml, .txt.
Основное предназначение программы — это смена кодировки файлов, а также массовая замена текста в них. Но сегодня нас интересует только кодировка.
Зачем нужна кодировка
Кодировка (Charset) — способ отображения кода на экране, соответствие набора символов набору числовых значений. О ней сообщает строка Content-Type и сервер в header запросе.
Несовпадение кодировок сервера и страницы будет причиной появления ошибок. Если они не совпадают, информация декодируется некорректно, так что контент на сайте будет отображаться в виде набора бессвязных букв, иероглифов и символов, в народе называемых «кракозябрами». Такой текст прочитать невозможно, так что пользователь просто уйдет с сайта и найдет другой ресурс. Или останется, если ему не очень важно содержание:
Студентка списывала реферат с формулами, а на сайте слетела кодировка. Реальная история
Google рекомендует всегда указывать сведения о кодировке, чтобы текст точно корректно отображался в браузере пользователя.
Windows-1251
Этот вид занимает второе место по популярности после UTF-8. Windows-1251 — кодирование для кириллицы, созданное на базе кодировок, использовавшихся в русификаторах операционной системы Windows. В ней есть все символы, которые используются в русской типографике, кроме значка ударения. Символы занимают 1 байт.
Выбор кодировки остается на усмотрение веб-мастера, но UTF-8 используют намного чаще — ее поддерживают все популярные браузеры и распознают поисковики, а еще ее удобнее использовать для сайтов на разных языках.
Где и как изменить кодировку
Все зависит от сайта. Способ установки кодировки может различаться: если используется одностаничник, то достаточно в HTML-файле прописать мета-тег в блоке :
В противном случае нам потребуется отредактировать файл .htaccess. Рассмотрим на примере хостинга Timeweb, как это можно сделать.
Открываем свой сайт и видим, что ничего не изменилось – так и должно быть. Чтобы внести изменения, очищаем кэш с помощью комбинации клавиш «CTRL+F5» и смотрим результат.
Как видите, сменить кодировку на своем сайте легко. Аналогичным образом мы можем изменить кодировку и на всем сервере – для этого необходимо выполнить следующее (актуально для веб-сервера Apache):
Если вы поменяете кодировку по умолчанию, то она будет изменена для всех ресурсов, находящихся на данном сервере.
Кодировка влияет на SEO?
Разберемся, как кодировка на сайте влияет на индексацию в Яндекс и Google.
«Тип используемой на сайте кодировки не влияет на индексирование сайта. Если ваш сервер не передает в заголовке кодировку, робот Яндекса также определит ее самостоятельно».
Позиция Google такая же. Поисковики не рассматривают Charset как фактор ранжирования или сигнал для индексирования, тем не менее, она косвенно влияет на трафик и позиции.
Если кодировка сервера не совпадает с той, что указана на сайте, пользователи увидят нечитабельные символы вместо контента. На таком сайте сложно что-либо понять, так что скорее всего пользователи сбегут, а на сайте будут расти отказы.
Пример страницы со слетевшей кодировкой
Поэтому она важна для SEO, хоть и влияет на него косвенно через поведенческие. Пользователи должны видеть читабельный текст на человеческом языке, чтобы работать с сайтом.
Начинаем
Сама программа не требует установки. Вы просто распаковываете архив в любое удобное для вас место и запускаете HTMLChanger.exe.
Начальный интерфейс HTML Changer
Затем вы нажимаете «Добавить папку (или файлы)»:
Выбираем папку с исходными файлами
Далее указываем программе папки, в которых лежат нужные нам файлы. В правой стороне окна не забываем указать маску для поиска файлов. Важно отметить галочку «вложенные папки», иначе программа не будет искать файлы в папках.
Выбираем папку с исходными файлами
Когда вы выбрали нужную папку, нажимаете OK.
Папки для работы
Затем переходим во вкладку перекодировка и выбираем, из какой в какую кодировку нам нужно перегнать файлы.
Выбираем кодировки файлов
Возвращаемся на начальную вкладку. Важно убрать выделение с кнопки Поиск/Замена, т.к. если вы не собираетесь ничего заменять в самих файлах, то программа выдаст ошибку.
Не забываем убрать выделение
Жмём обработать и… Всё! Обновлённые файлы лежат на месте старых. А старые файлы сохранены в папке \Projects\Backup (в папке с программой). Вот так вот просто и быстро можно поменять кодировку файлов.
Иногда возникают случаи, когда при открытии сайта отображается не привычный нам контент, а сплошной набор нечитаемых символов. Это связано с тем, что кодировка ресурса не совпадает с той кодировкой, которая устанавливается сервером. Например, для чтения файлов используется Windows-1251, а требуется UTF-8.
Что такое кодировка сайта и как ее можно изменить – об этом и поговорим в сегодняшней статье.
Виды кодировок
Существует довольно много видов, но сейчас распространены два:
Unicode Transformation Format — универсальный стандарт кодирования, который работает с символами почти всех языков мира. Символы могут занимать от 1 до 4 байт, такое кодирование позволяет создавать мультиязычные сайты.
Есть несколько вариантов — UTF-8, 16, 32, но чаще используют восьмибитное.
Кодировка документа
Готовые файлы HTML важно сохранять в нужной кодировке сайта. Узнать текущую кодировку файла можно через Notepad++: откройте файл и зайдите в «Encoding». Меняется она там же: чтобы сменить кодировку на UTF-8, выберите «Convert to UTF-8 without BOOM». Нужно выбрать «без BOOM», чтобы не было пустых символов.
Кодировка в .htaccess
Добавьте кодировку в файл .htaccess:
- Откройте панель управления хостингом.
- Перейдите в корневую папку сайта.
- В файле .htaccess добавьте в самое начало код:
- для указания кодировки UTF-8 — AddDefaultCharset UTF-8;
- для указания кодировки Windows-1251 — AddDefaultCharset WINDOWS-1251.
Смена кодировки базы данных
В данном случае нам потребуется открыть базу данных через личный кабинет хостинга и изменить значение кодировки в разделе «Операции». Давайте рассмотрим, как это можно сделать через админку Timeweb.
На этом статья подходит к концу. Теперь вы знаете больше о кодировке сайта и можете легко ее изменить в случае необходимости. Спасибо за внимание!
Вернемся к нашей HTML-странице, которую мы создавали в предыдущих уроках и сейчас выставим кодировку, в которой будет храниться ее текст.
Я хотел бы рассказать о двух способах, как можно поменять кодировку текста. Как правило, я пользуюсь ими на практике и они хорошо себе зарекомендовали.
Самым надежным способом изменить кодировку текста является способ с помощью программы Notepad++. Как правило, этот способ всегда надежно работает и с его помощью можно решить самые тяжелые проблемы.
1 способ. С помощью программы Notepad++
Итак, для того, чтобы сменить кодировку текста нам понадобиться специальный текстовый редактор, который называется notepad++.
Он бесплатный и скачать его можно с этого сайта:
Открываем HTML-страницу с помощью этой программы и переходим в главное меню «Кодировки».
Выбираем ту кодировку, в которую нужно выполнить преобразование и сохраняем файл.
Вот и вся процедура. Программа очень хорошая и в отличии от других альтернатив, меняет кодировку безотказно.
2 способ. С помощью универсального редактора кода Dreamweaver.
Если вы работаете в универсальном редакторе кода Dreamweaver, там тоже есть возможность указать кодировку, в которой будет представлен текст.
Сделать это можно также с помощью главного меню "Изменить - Свойства страницы".При создании нового html-документа, этот способ работает отлично, но если вы меняете кодировку уже существующего файла, то лучше воспользоваться первым способом. В этом случае он работает лучше.
Сделайте эту операцию у себя на компьютере.
Но, указав кодировку текста для html-страницы еще не достаточно. Для нормальной ее работы нужно сделать еще одно действие: подсказать браузеру, в какой кодировке написан текст.
Кодировка в мета-теге
Добавьте указание кодировки в head файла шаблона сайта.
При создании документа HTML укажите тег meta в начале в блоке head. Некоторые браузеры могут не распознать указание кодировки, если оно будет ниже.
Мета-тег может выглядеть так:
В HTML5 они эквивалентны.
Тег кодировки в HTML
В темах WordPress обычно тег «charset» с кодировкой указан по умолчанию, но лучше проверить.
Если вам нужно сменить кодировку Windows-1251 на UTF-8, замените строчку «AddDefaultCharset windows-1251» на «AddDefaultCharset utf-8».
Осторожнее: если вы измените в файле кодировку по умолчанию, то она изменится для всех проектов на этом сервере.
Что такое кодировка
Кодировка – специальный метод, позволяющий отображать текст на экране таким образом, чтобы он был понятен каждому пользователю. Все символы, которые мы видим в интернете, – это буквы и цифры только для нас, компьютер их не понимает. Он воспринимает информацию в байтах, весь текст на экране монитора – это совокупность байтов. У каждого символа есть свое кодовое значение, которое компьютер использует при выводе слов и чисел на экран.
Вот наглядный пример того, как воспринимается компьютером латинский алфавит и прочие символы:
Если никакая кодировка не установлена, вместо символов мы увидим такие значения. Чтобы понять компьютер, необходимо установить нужную кодировку для расшифровки символов из этой таблицы.
Читайте также: