ТП 100ms.ru

Объявление

С 1 марта 2015 года мы переехали на
Единую справочную службу



Темы форума остаются в качестве архива.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ТП 100ms.ru » В помощь вебмастеру » HTML кодировка ‡utf-8, windows-1251


HTML кодировка ‡utf-8, windows-1251

Сообщений 1 страница 5 из 5

1

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

Если это связано с выводом данных из MySQL, то в одной тем мы подробно объяснили как правильно организовать вывод из БД MySQL, инструкция в теме: Как вывести данные в PHP из таблицы MySQL - Проблема с UTF-8 кодировкой

Теперь рассмотрим: Инструмент для работы с кодировками HTML файлов

PSPad. Бесплатный текстовый редактор
Загружаем HTML-файл в PSPad. И чтобы понять, что за кодировка у загруженного файла смотрим в строке состояния (внизу) все четко написано.

пояснение

http://s8.uploads.ru/AWLFb.jpg
http://s8.uploads.ru/7hvC4.jpg

А теперь, создавая новый HTML-документ, позаботимся о его кодировке.
Идем в меню PSPad-а. Нас интересует пункт Формат. В нем-то мы и поставим галку напротив кодировки

пояснение2

http://s8.uploads.ru/PbaOI.jpg
Кодировка будущего HTML-файла будет utf-8


http://s9.uploads.ru/bx3Nt.jpg
А так кодировка будующего файла — windows-1251

Теперь о том как изменить кодировку файла HTML. Да оказывается очень просто:

пояснение 3

http://s9.uploads.ru/jh0H3.jpg

Нужно кликнуть по требуемой кодировке в пункте меню Формат и кодировка сменится. После этого сохраняйте файл, он перекодирован, дело сделано.
Офсайт PSPad

2

Теперь мы рассмотрим как браузеры определяю кодировку файла.

Здесь есть три варианта:

1. Мы сами сообщаем браузеру о том, какая кодировка установлена для данного HTML файла.
Делается это посредством META-тега

Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

В приведенном примере браузеру дается указание, что загруженный HTML-файл сохранен в кодировке utf-8

Если HTML-файл сохранен в кодировку windows-1251, то

Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

Полный HTML выглядит следующим образом (привожу его для понимания вопроса «в каком месте указывается META-тег с директивой кодировки» внимание на 4-ю строку):

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body> Ну и т.д.

3

2. При помощи файла .htaccess.
Иногда сервер насильно передает заголовки для загружаемых HTML-файлов и сообщает браузеру кодировку по умолчанию. В этом случае браузер не обращает внимания на директивы в META-теге, а отображает HTML-файл в той кодировки, которую сообщил сервер. Чтобы файл загружался в той кодировке, которая нужна вам (часто хостинг насильно указывает кодировку windows-1251), в корне хостинг-директории создается файл с именем «.htaccess».

Файл этот предназначен для дополнительной конфигурации сервера. Действие .htaccess-директив распространяется на все файлы и подкаталоги, которые находятся в том каталоге, куда вы сохранили файл .htaccess.

Для HTML-файлов в кодировке utf-8 в .htaccess нужно написать одну строку:

Код:
AddDefaultCharset UTF-8

Для HTML-файлов в кодировке Windows-1251:

Код:
AddDefaultCharset Windows-1251

Если это не получается сервер не обращает внимания на эти директивы, то можно попробовать:

Код:
charsetdisable on

или

Код:
AddDefaultCharset Off

4

3. PHP-инструкция, указывающая кодировку по умолчанию.
В файле, который нужно отобразить в желаемой кодировке, не смотря на настройки сервера хостинг-провайдера, в самом начале указывается директива с php-кодом:

Код:
<?php header('Content-type: text/html; charset=utf-8')?>

   Этот php-код отправит заголовок сервера с указанием кодировки по умолчанию для браузера. В приведенном примере, для отображения страницы, будет применяться кодировка utf-8.
   Против такого лома, обычно, приемов в настройках сервера хостинг-провайдера не остается.
   Хочу заметить, что для обработки php-инструкций сервером, html-файл должен иметь расширение .php (например index.php).

5

спасибо за подробное и очень понятное объяснение.
даже мне все ясно.  :blush:
еще раз спасибо.


Вы здесь » ТП 100ms.ru » В помощь вебмастеру » HTML кодировка ‡utf-8, windows-1251


Рейтинг форумов | Создать форум бесплатно