PDA

Просмотр полной версии : Название страницы в браузере, кодировки


postoronniy
09.02.2012, 16:25
Всем Привет!

Перерыл форум, попробовал некоторые варианты, но проблема не ушла.

Название сайта, введенное русскими буквами в браузерах(FF, IE, Chrome) выводится другими буквами.
Например: Владимир Захаров выводится как чМБДЙНЙТ ъБИБТПЧ

Мой код:
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Владимир Захаров</title>
<META content="" name=description>
<META content="" name=keywords>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="AC_RunActiveContent.js" language="javascript"></script>
<style type="text/css">
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
</style>
</head>
<body bgcolor="#000000">
<script language="javascript">
if (AC_FL_RunContent == 0) {
alert("This page requires AC_RunActiveContent.js.");
} else {
AC_FL_RunContent(
'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
'width', '100%',
'height', '100%',
'src', 'index',
'quality', 'high',
'pluginspage','http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'noscale',
'wmode', 'transparent',
'devicefont', 'false',
'id', 'index',
'bgcolor', '#000000',
'name', 'index',
'menu', 'false',
'allowFullScreen', 'true',
'allowScriptAccess','sameDomain',
'movie', 'index',
'salign', ''
); //end AC code
}
</script>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" name="index" width="100%" height="100%" align="middle" id="index">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="index.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /> <embed src="index.swf" quality="high" bgcolor="#000000" width="100%" height="100%" name="index" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</noscript>


</body>
</html>

mooncar
09.02.2012, 19:31
1. Файл страницы должен быть, как видно по вашему коду, в UTF-8. Это так? Проверьте, и если нет, перекодируйте.
2. Для верности положите в корень сайта файл .htaccess со следующей строкой
AddDefaultCharset utf-8, потому что сервер может быть настроен так, что выдает принудительно не UTF-8, а в другой кодировке, и нужно его "приструнить".
3. В браузере включите "автоопределение" кодировки, потому что похоже, что KOI-8 стоит.

Причиной может быть каждый из этих пунктов.

postoronniy
09.02.2012, 21:08
1. Я начинающий, так что буду очень признателен, если Вы будете отвечать максимально подробно.
Где проверить и перекодировать? Что имеется ввиду под файлом страницы?
Есть файлы:
mail.php
index.swf
index.html
AC_RunActiveContent.js
2.Файла .htaccess у меня пока нет.
В нем должна быть только эта строка? Перед точкой должно быть имя, а .htaccess это расширение???
3. В браузерах я пробовал в нескольких. По-английски если название написать-все отображается, все остальные страницы(чужие тоже) отображаются нормально. Браузеры никто не перенастраивал. Нужно что бы во всех браузерах работало и у всех-соответственно менять что-то в настройках браузера-не вариант.

mooncar
09.02.2012, 21:27
1. Открываете ту страницу, заголовок которой у вас отображается неправильно, в текстовом редакторе, например в Блокноте. Подозреваю, что речь идет о файле index.html, код которго вы привели.
В зависимости от версии текстового редактора ищете опцию для перекодирования. Не в курсе, чем вы редактируете файл, поэтому и привожу Блокнот в скриншоте ниже. Пересохраняете. И еще разок открываете и проверяете, что кодировка действительно осталась UTF-8.
В старой версии Блокнота кодировку можно было указать при сохранении.

27563

Лично я использую Notepad++, там больше для этого опций.

27564

----------------------------------------------

2. Создаете файл, называете его как я и привел и вводите приведенную выше строку. Заливаете в корень.
.htaccess - это не расширение, а название файла. Да, с точкой в начале. Этот файл служит для указания директив серверу.

postoronniy
09.02.2012, 21:52
Попробовал сделать оба варианта. НЕ ПОМОГЛО!!! Вид вкладок во вложении.

postoronniy
09.02.2012, 21:53
К предыдущему сообщению: Левый вариант с локального хоста, правый с интернета. Файлы одни и те же.

mooncar
09.02.2012, 22:16
Надо было сразу ссылку дать на http://zakharov.restoreit.ru/

Две ошибки:

1. В начале, в коде страницы у вас там
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />, а отнюдь не
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
то есть страница предлагает браузеру рендерить себя как KOI-8, а не как utf-8. Поправьте. Вы приводили другой код.

2. В самом начале , то есть еще до открывающего тега <html> у вас есть невидимые служебные BOM-символы, от них надо избавиться. Что это такое - погуглите, если интересно (по ключевым словам "Юникод BOM"). Большинство текстовых редакторов их не покажут. В данном случае они мешают. Избавляемся от них.
Открываете, например в FAR-менеджере (в нем они прекрасно видны) и удаляете их. Либо, для ускорения событий, поставьте себе Notepad++ и выбираете опцию, которая как раз выделена на втором скрине с моего предыдущего поста. Сохраняемся и перзаливаем файл.

Сделайте все в точности и должно заработать.

Итак, еще раз:

1. Строка в .htaccess (сервер будет выдавать как надо), файл кладем в корневую директорию web-сервера.
AddDefaultCharset utf-8
2. Сам файл перекодирован в "UTF-8 без BOM"
3. Строка с метатегом в <head> страницы.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

postoronniy
10.02.2012, 13:26
Да, спасибо, очень помогли! Проблема решена. Видимо проблема была в BOM файлах.

mooncar
10.02.2012, 13:32
Пожалуйста!
Только не "BOM файлах", а BOM-символах.
Было такое как-то, тоже правильно кодировка не отрабатывалась.