Jump to content
  • 0

Проблемы с кодировкой


yatsan
 Share

Question

Добрый день!

Столкнулась с такой проблемой. Скачала шаблон сайта и в самом начале документа указаны следующие строки: <!DOCTYPE html>

<html lang="en">. Если я правильно поняла, то это HTML5. Перекодировала в ANSI и изменила charset на windows-1251. Затем мне необходимо было изменить текст в шапке сайта, как раз там, где красуется логотип (на самом деле вместо логотипа просто текстовое наименование компании), но когда меняю английский текст на русский, то русский текст не отображается. :blink: Я не могу понять, в чем причина. Можете подсказать, что делать?

lang="en" меняла на lang="ru", но это не помогло, к сожалению. :huh:

Буду благодарна, если найдутся те, кто смогут помочь :rolleyes:

Link to comment
Share on other sites

Recommended Posts

  • 0

Какой шрифт? Что выводится вместо русских букв — квадратики? вопросики?

Перекодировала в ANSI и изменила charset на windows-1251

В общем случае — напрасно. UTF-8 гибче и универсальнее.

Link to comment
Share on other sites

  • 0

Какой шрифт? Что выводится вместо русских букв — квадратики? вопросики?

Перекодировала в ANSI и изменила charset на windows-1251

В общем случае — напрасно. UTF-8 гибче и универсальнее.

Шрифт Arial, Helvetica, sans-serif. Вместо русских букв пустота, не отображается вообще ничего. Хотя, в момент нажатия на пару секунд можно увидеть русский текст.

Что касается utf-8, то, как правило, когда оставляю utf-8, как раз и появляются вопросики и квадратики, но не в данном случае.

Link to comment
Share on other sites

  • 0

yatsan, можете показать минимальный пример проблемного кода (желательно в виде ссылки на беспл. хостинге или jsfiddle.net/dabblet.com)?

И на будущее, желательно подобные вопросы задавать в отдельном топике (т.к. от HTML5 тут только доктайп, а проблема пока вообще непонятно в чем).

Уважаемые модераторы: может, отделить вопрос?

как правило, когда оставляю utf-8, как раз и появляются вопросики и квадратики

Возможно, deafult-charset на сервере настроен в прошлом веке. На мой взгляд, лучше разобраться с его настройкой.

Link to comment
Share on other sites

  • 0

Что касается utf-8, то, как правило, когда оставляю utf-8, как раз и появляются вопросики и квадратики, но не в данном случае.

Вопросики в ромбиках вот такие ? появляются если в charset="utf-8", а сам документ сохранен в ANSI.

Если, что-то на подобии такого Привет РјРёСЂ!!! (Привет мир!!!), то все наоборот charset="windows-1251", а документ сохранен в utf-8 без BOM

  • Like 1
Link to comment
Share on other sites

  • 0

yatsan, можете показать минимальный пример проблемного кода (желательно в виде ссылки на беспл. хостинге или jsfiddle.net/dabblet.com)?

Зашла на эти бесплатные хостинги и ничегошеньки не поняла :blush: Если есть какая-нибудь инструкция, как выложить мою беду туда, то было бы вообще замечательно :rolleyes:

И на будущее, желательно подобные вопросы задавать в отдельном топике (т.к. от HTML5 тут только доктайп, а проблема пока вообще непонятно в чем).

Учту сие пожелание обязательно ;)

как правило, когда оставляю utf-8, как раз и появляются вопросики и квадратики

Возможно, deafult-charset на сервере настроен в прошлом веке. На мой взгляд, лучше разобраться с его настройкой.

Про deafult-charset было бы тоже интересно узнать. Вообще я на Denwer сижу, он и, правда, не молод, но как его заменять, ума не приложу :blink:

Что касается utf-8, то, как правило, когда оставляю utf-8, как раз и появляются вопросики и квадратики, но не в данном случае.

Вопросики в ромбиках вот такие ? появляются если в charset="utf-8", а сам документ сохранен в ANSI.

Если, что-то на подобии такого Привет РјРёСЂ!!! (Привет мир!!!), то все наоборот charset="windows-1251", а документ сохранен в utf-8 без BOM

Дело в том, что кодировку изменяю в соответствии с требованиями, т.е. если utf-8, то utf-8 без BOM, если же windows-1251, то ANSI. Я не специалист, но, скорее всего, предложение SelenIT о том, что это default-charset имеет смысл, только что это и где менять, я не знаю.

Link to comment
Share on other sites

  • 0

Дело в том, что кодировку изменяю в соответствии с требованиями, т.е. если utf-8, то utf-8 без BOM, если же windows-1251, то ANSI. Я не специалист, но, скорее всего, предложение SelenIT о том, что это default-charset имеет смысл, только что это и где менять, я не знаю.

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

По-умолчанию обычно эта директива не включена вообще на сервере, то есть клиент воспринимает страницу в соответствии с заданной кодировкой в head.

Edited by alexriz
Link to comment
Share on other sites

  • 0

Дело в том, что кодировку изменяю в соответствии с требованиями, т.е. если utf-8, то utf-8 без BOM, если же windows-1251, то ANSI. Я не специалист, но, скорее всего, предложение SelenIT о том, что это default-charset имеет смысл, только что это и где менять, я не знаю.

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

По-умолчанию обычно эта директива не включена вообще на сервере, то есть клиент воспринимает страницу в соответствии с заданной кодировкой в head.

Благодарю за ответ и приведенные ссылки :)

AddDefaultCharset utf-8

в .htaccess в корне сайта. Либо в конфиге денвера

PS: упс, опередили

Ваш ответ для меня тоже очень полезен ;)

Link to comment
Share on other sites

  • 0

yatsan, можете показать минимальный пример проблемного кода (желательно в виде ссылки на беспл. хостинге или jsfiddle.net/dabblet.com)?

В общем, на этих хостингах разместить у меня не получилось, посему придется здесь...

<!DOCTYPE html>
<html lang="en">
<head>
<title>Home</title>
<meta charset="utf-8">
<link rel="stylesheet" href="css/reset.css" type="text/css" media="all">
<link rel="stylesheet" href="css/layout.css" type="text/css" media="all">
<link rel="stylesheet" href="css/style.css" type="text/css" media="all">
<script type="text/javascript" src="js/jquery-1.4.2.js" ></script>
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/cufon-replace.js"></script>
<script type="text/javascript" src="js/Myriad_Pro_300.font.js"></script>
<!--[if lt IE 9]>
<script type="text/javascript" src="http://info.template-help.com/files/ie6_warning/ie6_script_other.js"></script>
<script type="text/javascript" src="js/html5.js"></script>
<![endif]-->
</head>
<body id="page1">
<div class="body3"></div>
<div class="body1">
<div class="main">
<!-- header -->
<header>
<div id="logo_box">
<h1><a href="index.html" id="logo">The Art of Business <span>Clients Choose Us!</span></a></h1>
</div>
<nav>
<ul id="menu">
<li id="menu_active"><a href="index.html">Home</a></li>
<li><a href="About.html">About</a></li>
<li><a href="Projects.html">Projects</a></li>
<li><a href="Contacts.html">Contacts</a></li>
<li class="bg_none"><a href="SiteMap.html">SiteMap</a></li>
</ul>
</nav>
<div class="wrapper">
<div class="text1">Your Business Needs Fresh Ideas?</div>
<div class="text2">We work for your Profit</div>
<ul id="icons">
<li><span>Follow Us!</span></li>
<li><a href="#"><img src="images/icon1.jpg" alt=""></a></li>
<li><a href="#"><img src="images/icon2.jpg" alt=""></a></li>
<li><a href="#"><img src="images/icon3.jpg" alt=""></a></li>
</ul>
</div><div class="inner_copy">More <a href="http://www.templatemonster.com/">Website Templates</a> at TemplateMonster.com!</div>
</header>
<!-- / header -->
</div>
</div>

Вот слова "The Art of Business - Clients choose us!" и "Your Business Needs Fresh Ideas? We work for your Profit" вызвали затруднения.

Link to comment
Share on other sites

  • 0

А, так там еще и Cufon :). Лично мне повезло с ним дела не иметь, но, насколько я понимаю, дело в заготовке шрифта (видимо, файл Myriad_Pro_300.font.js), где просто не оказалось нужных символов. Вот этот генератор, если я верно понял, позволяет выбрать нужные поддиапазоны набора символов - включая кириллицу.

Но вообще Cufon - уже немножко прошлый век, сейчас в моде @font-face, они работают во всех уважающих себя браузерах и гораздо удобнее и гибче. Да и Myriad Pro - на мой взгляд, не такой уж суперэкзотический шрифт, что замена его на другой похожий sans-serif будет прямо сверхкритичной (списки подходящих альтернатив наскоро нагуглились, например, тут и тут).

И еще: <meta charset> в коде должна идти до <title>, т.к. кодировка должна определиться до начала любого вывода текста, а <title> - уже вывод (в заголовок окна/таба). Здесь это, судя по всему, ни при чем, но на будущее может помочь избежать проблем вида "указана одна кодировка, отображается в другой" :)

Link to comment
Share on other sites

  • 0

Да куфон в топку, отстойная фигня. Берете нужный вам шрифт суете вот этой белке и вам будет выдан готовый шаблон, только все что нужно перенести и подключить. Главное чтоб в шрифте была поддержка кириллицы если это необходимо, и в настройках указать набор символов, и установка X-height шрифта в соответствии с arial.

И еще: <meta charset> в коде должна идти до <title>, т.к. кодировка должна определиться до начала любого вывода текста, а <title> - уже вывод (в заголовок окна/таба). Здесь это, судя по всему, ни при чем, но на будущее может помочь избежать проблем вида "указана одна кодировка, отображается в другой" :)

А еще для избежания самой тупой xss уязвимости)

Edited by alexriz
Link to comment
Share on other sites

  • 0

Главное чтоб в шрифте была поддержка кириллицы если это необходимо, и в настройках указать набор символов, и установка X-height шрифта в соответствии с arial.

А какие настройки изменить нужно и где их искать? Я, мягко говоря, суперновичок, поэтому, возможно, задаю глупые вопросы :blush:

Еще вопрос. Можно вообще без всех этих примудростей обойтись с cufon, от названия которых волосы дыбом встают? :blush: ...и просто поставить стандартный шрифт какой-нибудь типа того же Arial? Как это сделать? Как отключить cufon или как его там?

Спустя полчаса...

Получилось просто удалить этот cufon, и русская текстовка стала отображаться, но шрифтом по умолчанию. Я попробовала воспользоваться @font-face, но отчего-то не получилось придать экзотичности шрифту. Пример использования брала вот отсюда: @font-face Впервые использую этот тег, может, сделала, что-то не то...Стили я прописывала в файлике style.css.

Edited by yatsan
Link to comment
Share on other sites

  • 0

У меня мягко сказать подобная проблема с отображением русского шрифта! Подскажите что не так?

<!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>Сайт проект</title>
<link href="css/style.css" type="text/css" rel="stylesheet">
<!--[if lt IE 7]> <div style='border: 1px solid #F7941D; background: #FEEFDA; text-align: center; clear: both; height: 75px; position: relative;'> <div style='position: absolute; right: 3px; top: 3px; font-family: courier new; font-weight: bold;'><a href='#' onclick='javascript:this.parentNode.parentNode.style.display="none"; return false;'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-cornerx.jpg' style='border: none;' alt='Close this notice'/></a></div> <div style='width: 640px; margin: 0 auto; text-align: left; padding: 0; overflow: hidden; color: black;'> <div style='width: 75px; float: left;'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-warning.jpg' alt='Warning!'/></div> <div style='width: 275px; float: left; font-family: Arial, sans-serif;'> <div style='font-size: 14px; font-weight: bold; margin-top: 12px;'> Вы используете устаревший браузер </div> <div style='font-size: 12px; margin-top: 6px; line-height: 12px;'> Для лучшего отображения этой страницы, пожалуйста обновите свой браузер на более новый. </div> </div> <div style='width: 75px; float: left;'><a href='http://www.firefox.com' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-firefox.jpg' style='border: none;' alt='Get Firefox 3.5'/></a></div> <div style='width: 75px; float: left;'><a href='http://www.browserforthebetter.com/download.html' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-ie8.jpg' style='border: none;' alt='Get Internet Explorer 8'/></a></div> <div style='width: 73px; float: left;'><a href='http://www.apple.com/safari/download/' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-safari.jpg' style='border: none;' alt='Get Safari 4'/></a></div> <div style='float: left;'><a href='http://www.google.com/chrome' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-chrome.jpg' style='border: none;' alt='Get Google Chrome'/></a></div> </div> </div> <![endif]-->
<!--[if lt IE 7]>
<script type="text/javascript" src="js/DD_belatedPNG_0.0.8a-min.js"></script>
<script>
DD_belatedPNG.fix('#nav li a, #nav li.navButtonL a,#nav li.navButtonR a');
</script>
<script src="js/IE8.js" type="text/javascript"></script>
<script src="js/ie7-squish.js" type="text/javascript"></script>
<![endif]-->

</head>

Заголовок сайта "Сайт проект" на русском не отображается вылазят черные ромбики с вопросиками внутри. И тоже самое в теге body, если ввожу русские буквы то появляются ромбики с вопросиками! Блин я почитал уже на форуме похожие статьи, но так и не нашел решения данной проблемы!!! Я вообще не понимаю с чем это связано! Помогите пожалуйста!

я проверил на валидаторе эту страницу и валидатор даже ее не проверил до конца и выдал следующее :

Error

Sorry, I am unable to validate this document because on line 5 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.

The error was: utf8 "\xD1" does not map to Unicode

а вот как это выглядит у меня на странице в блоках!

2279373m.jpg

Edited by lynch
картинки загружайте в сервисы подобные этим (savepic.ru, itmages.ru).
Link to comment
Share on other sites

  • 0

так в чём проблема? Отдавайте страницу в заявленной кодировке, и будет счастье.

Что то я не пойму ответа! Кому отдавать? Причем тут заявленная кодировка, если она не работает? Я же и фото сделал, как оно у меня отображается, просто я все тело body не копировал, но тут и так понятно, что у меня вообще русский шрифт везде отображается ромбиками!!! Я и в notepad ++ кодировать пытался в UTF8 без BOM но страница и была в такой кодировке! Верстаю в PHP дизайнере. Короче у меня уже мозг вскипает а трабл это решить не могу! Вы можете ответить более развернуто?

Link to comment
Share on other sites

  • 0

так в чём проблема? Отдавайте страницу в заявленной кодировке, и будет счастье.

Что то я не пойму ответа! Кому отдавать? Причем тут заявленная кодировка, если она не работает? Я же и фото сделал, как оно у меня отображается, просто я все тело body не копировал, но тут и так понятно, что у меня вообще русский шрифт везде отображается ромбиками!!! Я и в notepad ++ кодировать пытался в UTF8 без BOM но страница и была в такой кодировке! Верстаю в PHP дизайнере. Короче у меня уже мозг вскипает а трабл это решить не могу! Вы можете ответить более развернуто?

Несколькими сообщениями выше: http://forum.htmlbook.ru/index.php?showtopic=32224&st=0&p=242581entry242581

Link to comment
Share on other sites

  • 0

так в чём проблема? Отдавайте страницу в заявленной кодировке, и будет счастье.

Что то я не пойму ответа! Кому отдавать? Причем тут заявленная кодировка, если она не работает? Я же и фото сделал, как оно у меня отображается, просто я все тело body не копировал, но тут и так понятно, что у меня вообще русский шрифт везде отображается ромбиками!!! Я и в notepad ++ кодировать пытался в UTF8 без BOM но страница и была в такой кодировке! Верстаю в PHP дизайнере. Короче у меня уже мозг вскипает а трабл это решить не могу! Вы можете ответить более развернуто?

Несколькими сообщениями выше: http://forum.htmlbook.ru/index.php?showtopic=32224&st=0&p=242581entry242581

Я очень удивлен что не могу на этом форуме получить подробного ответа!

Еще раз объясняю... я тестирую страницу на денвере и у меня в корне сайта, в папке www уже есть файлик .htaccess в этом файлике прописано следующее:

AddDefaultCharset utf-8

AddCharset utf-8 *

<IfModule mod_charset.c>

CharsetSourceEnc utf-8

CharsetDefault utf-8

</IfModule>

Если вы это имели ввиду, то данный файл .htaccess не помогает! Все ровно русский шрифт отображается в виде ромбиков.

Я попробовал зайти в http://localhost/Tools/phpMyAdmin/ и вот что я там увидел:

2250716m.png

2240476m.png

где что менять??? Пожалуйста ответьте понятно!

предположительно в заголовках ответа от сервера погода в китае вместо кодировки.

Вы меня простите, но я Вас вообще не могу понять! Причем тут погода в Китае???? Если у Вас какой-то скрытый подтекст в ответе, я честно признаюсь его совершенно не понимаю!

Link to comment
Share on other sites

  • 0
Я очень удивлен что не могу на этом форуме получить подробного ответа!

Какой вопрос - такой ответ.

Еще раз объясняю... я тестирую страницу на денвере и у меня в корне сайта, в папке www уже есть файлик .htaccess в этом файлике прописано следующее:

Что значит "еще раз"? В сообщениях выше об этом - ни слова

Я попробовал зайти в http://localhost/Tools/phpMyAdmin/ и вот что я там увидел:

2250716m.png

2240476m.png

Вот с этого и надо было начинать. Мы должны были догадаться, что данные хранятся в mysql? У вас база данных в cp1251, часть таблиц в utf8, а в какой кодировке сами данные - остается только гадать.

Link to comment
Share on other sites

  • 0
Я очень удивлен что не могу на этом форуме получить подробного ответа!

Какой вопрос - такой ответ.

Еще раз объясняю... я тестирую страницу на денвере и у меня в корне сайта, в папке www уже есть файлик .htaccess в этом файлике прописано следующее:

Что значит "еще раз"? В сообщениях выше об этом - ни слова

Я попробовал зайти в http://localhost/Tools/phpMyAdmin/ и вот что я там увидел:

2250716m.png

2240476m.png

Вот с этого и надо было начинать. Мы должны были догадаться, что данные хранятся в mysql? У вас база данных в cp1251, часть таблиц в utf8, а в какой кодировке сами данные - остается только гадать.

Хорошо, и что же Вы мне прикажете делать, что бы исправить данную ситуацию, уважаемые знатоки? Я очень хочу поскорее решить этот вопрос и тем самым получить нужный результат - в виде корректного отображения моей страницы с русским шрифтом а не ромбиками с вопросиками. Пожалуйста направьте мой ум в сторону правильных действий...

Link to comment
Share on other sites

  • 0

Хорошо, и что же Вы мне прикажете делать, что бы исправить данную ситуацию, уважаемые знатоки? Я очень хочу поскорее решить этот вопрос и тем самым получить нужный результат - в виде корректного отображения моей страницы с русским шрифтом а не ромбиками с вопросиками. Пожалуйста направьте мой ум в сторону правильных действий...

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

Link to comment
Share on other sites

  • 0

Хорошо, и что же Вы мне прикажете делать, что бы исправить данную ситуацию, уважаемые знатоки? Я очень хочу поскорее решить этот вопрос и тем самым получить нужный результат - в виде корректного отображения моей страницы с русским шрифтом а не ромбиками с вопросиками. Пожалуйста направьте мой ум в сторону правильных действий...

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

Хорошо и как мне узнать какая таблица содержит проблемный текст? Что при каждых проблемах с кодировкой нужно искать таблицу привязанную к тому тексту который отображается некорректно? Еще раз повторю, что у меня даже валидатор отказался проверять полностью документ, как только он нашел первую русскую букву он написал мне "что не может понять, на лини 5 что-то не то с кодировкой"! Имеется ввиду что там где у меня тег

<title>Сайт проект</title>

проблема с кодировкой. Повторяю что вылезло после проверки этой странице на валидаторе:

Error

Sorry, I am unable to validate this document because on line 5 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.

The error was: utf8 "\xD1" does not map to Unicode

Это я к тому что может быть есть какое-то общее решение этой проблемы для всех страниц сразу?

тут Вы имеете ввиду посмотреть через phpmyadmin данные таблицы, которая содержит проблемный текст???

2416157m.png

Edited by lynch
Link to comment
Share on other sites

  • 0

Проверьте в какой кодировке у вас сам файл, он у вас может быть не сохранен как utf-8, а в другой кодировке.

Как еще можно мне проверить? если я даже в notepad++ открываю и вижу что страница сохранена как utf-8 без BOM ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy