|
|
|
| Здравствуйте!
Помогите плз, чето мозги закипают =/
Инструкция
<meta content="text/html; charset=utf-8" http-equiv="content-type">
не исполняется, текст на странице, как и положено в таком случае - крякозябра полная...
Руками в меню "...Кодировка" задашь UTF-8 - нормально читается страница. А судя по галкам, браузер считает, что страница содержит текст Win-1251. Откуда они это берут? Где поискать "зарытую собаку"?
ЗЫ. Опера, хром и FF дают одинаковый результат. | |
|
|
|
|
|
|
|
для: Evgen
(06.05.2013 в 14:54)
| | 1. тег <META charset> не устанавливает кодировку, а лишь сообщает браузеру о кодировке
т.е. если фактически ваш HTML-редактор настроен под кодировку windows-1251, то вы можете
хоть двадцать пять раз прописать <META charset="utf-8"> - в браузер всё-равно
придёт кодировка windows-1251
[это как тег <META keywords description> - сайт вполне может быть по содержанию педофильским,
а в этом теге будет что-то о художественно-прекрасном
именно так раньше обманывали поисковые системы
поэтому поисковики теперь первым делом сравнивают данные этого тега с фактическими словами
в теле сайта и если находят несоответствие между первым и вторым, сразу же относят страницу к
сомнительным и существенно понижают её рейтинг]
2. если вы не знаете - какая кодировка в вашем HTML-редакторе, то напишите какой-нить
коротенький HTML-файл с русским текстом, не прописывая в нём <META charset> и запустите в
браузере, предварительно установив в браузере "Автоматическое определение кодировки"
когда страница с вашим файлом загрузится (и все русские буквы будут читабельны), посмотрите
"Информацию о странице" - там будет прописана определённая браузером фактическая кодировка
вашего HTML-редактора
3. если кодировка вашего HTML-редактора вас не устроит, соответственно, писать вам надо будет
в HTML-редакторе, в котором есть возможность сохранить файл в нужной кодировке
сам я использую Notepad++ (в сети найдёте, он бесплатен)
в нём есть пункт меню "Кодировка", в ней надо выбрать "Кодировать в UTF-8 (без BOM)"
4. всё это будет нормально работать из-под вашего локального компьютера
однако, при сохранении на сервере вполне возможна проблема
дело в том, что в серверном файле .htaccess существует команда принудительной установки
кодировки, в которую сервер преобразует ВСЕ свои файлы, отдавая их браузерам пользователей
и вполне может быть, что там у вас прописано AddDefaultCharset windows-1251
эту строчку вам надо просто удалить - тогда по умолчанию будет utf-8 (а лучше принудительно
записать AddDefaultCharset utf-8) | |
|
|
|
|
|
|
|
для: яса1
(06.05.2013 в 16:11)
| | яса1 огромный респект, заработало =D !!!
CMS джумла, в БД инфа в UTF-8 - всё ОК!
Причина была в том, что у Вас описано в п.4 - зашел на хост, а там в настройках вирт сервера "Кодировка сайта - win1251".
Поменял на utf - всё встало на свои места! Стало быть настройки сервера оказались важнее для браузеров, чем мой хидер...
Были уже неск лет назад подобные заморочки - не знал, что можно было таким не сложным способом вылечить. Тогда, я помню, менял кодировку контента %
Спасибо ещё раз! | |
|
|
|
|
|
|
|
для: Evgen
(06.05.2013 в 19:12)
| | meta content="text/html; charset=utf-8, это не заголовок, вот если бы вы передавали его как
header(), вот это было бы заголовком, а так ваш сервер передавал этот заголовок со значением по умолчанию. | |
|
|
|
|
|
|
|
для: confirm
(06.05.2013 в 20:00)
| | Да, пардон, ошибся. Имел ввиду <head>, а написал совсем другое... | |
|
|
|
|
|
|
|
для: Evgen
(06.05.2013 в 22:02)
| | :)
<?php
header('Content-type: text/html; charset=utf-8');
|
Вот это переданный сервером заголовок, а <head>, это html тег. | |
|
|
|