Почему на сайте вместо текста знаки вопроса
Перейти к содержимому

Почему на сайте вместо текста знаки вопроса

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

Приветствую, Друзья. В этой статье, я в очередной раз хочу обсудить очень популярную проблему и ее решения. Проблема очень популярна среди начинающих вебмастеров. Связана она с выводом текста на сайте в правильной кодировке. Очень часто возникают вопросы: «Почему на сайте вместо букв кракозябры?» Или могут быть выведены вопросительные знаки вместо текста. И если все подобные проблемы объединить воедино, то можно назвать это — проблемы с кодировкой сайта. Именно об этом и поговорим.

Решение проблемы с кодировкой сайта html

Подобные проблемы обычно связаны с несовпадением кодировки сайта и веб-браузера. Например, в документе мы четко указали, что сайт использует кодировку UTF-8, однако браузер думает, что кодировка нашего сайта Windows-1251. В конечном результате мы видим вместо текста различные, так называемые, кракозябры и вопросительные знаки. Но у каждой проблемы есть источник возникновения, и конечно же, должно быть и решение проблемы.

Проблемы с кодировкой сайта: Невнимательность.

Источник:

Самым банальным источником проблемы часто является невнимательность вебмастера. Который по то или иной причине прописал в неправильной форме кодировку документа. Вследствие чего возникают проблемы.

Решение:

Решение данного недоразумения вполне простое. Будьте внимательны и прописывайте кодировку документа правильно. Как это сделать я рассказывал в этой статье.

Вместо букв кракозябры: Ошибка.

Источник:

В данном случае проблема также может возникнуть из-за невнимательности или неопытности. Заключается проблема в том, что вроде бы мета тег прописан правильно в документе, но при сохранении, по какой-то причине документ был сохранен не в той кодировке, которая указана. То есть, например, мы пишем документ в UTF-8, о чем сразу указали, с помощью мета тега, но при сохранении или создании документа забыли выставить кодировку UTF-8, и она осталась по умолчанию Windows-1251. И естественно вместо текста в браузере мы увидим кракозябры.

Решение:

Не забывайте сразу, при создании документа указывать верную кодировку. Или же преобразовывайте документ в правильную кодировку, при сохранении. О том, как это сделать, мы также уже говорили ранее, в этой статье.

Вопросительные знаки вместо букв: Задать кодировку в htaccess.

Источник:

Бывают случаи (не часто), когда мы правильно прописываем кодировку документа и сохраняем в правильной кодировке, которая совпадает с указанной. Но в браузере все равно видим различные вопросительные знаки, иероглифы или кракозябры. В данном случае вина может лежать на используемом хостинге. Возможно, кодировка, указанная на сервере не совпадает с кодировкой, в которой написан код нашего сайта.

Решение:

В данном случае мы можем задать кодировку сервера самостоятельно, с помощью файла htaccess. Для этого, открываем файл htaccess, в нужной папке сайта. Если нет, то создаем. И добавим в самый конец строку в зависимости от кодировки, используемой на сайте.

Windows-1251:

Слышал, еще бывают проблемы с кодировкой базы данных, но сам не сталкивался, поэтому и рассказать ничего не могу.

Надеюсь, хотя бы один из этих способов сможет помочь решить проблемы с кодировкой сайта. А у меня на этом все.

Почему на сайте вместо текста знаки вопроса

Развернул сайт с кодировкой ср1251 на сервере под управлением Windows Server 2012 r2. При обращении к сайту с другого компьютера (ОС Windows 8), он отображается нормально. При загрузке сайта через браузер на самом сервере вместо текста одни вопросики. В чём дело подскажите, пожалуйста?

  • Изменен тип Petko Krushev Microsoft contingent staff, Moderator 9 ноября 2015 г. 10:42

Все ответы

Во первых, рекомендуется использовать UTF-8 вместо любых 8 битных кодировок. Снимает массу проблем,,

Что до выбора кодировок в браузерах то проверьте правильность задания кодировки и наличие метатега Content-Type, например:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Кодировка должна соответвовать фактической, иначе вместо текста будут "каракули", "вопросики" или "квадратики".

Так же полезано почитать:

This posting is provided "AS IS" with no warranties, and confers no rights.

Этот сайт я купил, он изначально был на 1251.

Этот сайт прекрасно себя чувствует на Apache сервере. Проблема появилась после попытки перенести на Windows Server 2012.

В Диспетчере служб IIS в настройках сайта "Заголовки ответов HHTP" указал кодировку charset=windows-1251. После этого браузер IE стал видеть сайт нормально, но вот Гугл Хром по прежнему отображает вопросами.

Кодировка соответствует, не понимаю, что не так.

По предложенной ссылке нет никакого решения проблемы.

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

Иными словами после того как вы усвоили материал то сможете самостоятельно диагностировать и исправить проблему. Если вы ожидали там найти что то вроде "в сторке 5 файла main.html вставь то то и то то", то такого там нет.

Для решения проблемы конечно надо владеть хотя бы начальными навыками разработки веб сайтов. Например уметь нажимать клавишу F12 в браузере, после чего посмотреть имеется ли нужный тэг в маркапе сайта. Так же не повередит нажать меню хрома, выбрать "More tools/Encoding" и посмотреть какая же кодировка установлена и помогает ли ее смена.

Полезно так же вспомнить не изменяли ли вы рееестр на конкретном компьютере чтоб решить проблемы с кодировками в каких либо приложениях, например подменой НЛС файлов. Обычно эти действия равносильны вредительству и нормально ничего работать не будет.

This posting is provided "AS IS" with no warranties, and confers no rights.

Если в общем, то статья говорит о том как создавались кодировки и почему желательно использовать UTF-8 (на сколько я смог её понять, используя встроенный в браузер переводчик). Это всё конечно очень ценная информация, но вот только прочитав это, мне кажется не возможно разобраться именно в моей проблеме.

Исходный код страниц смотрел — кодировка charset=windows-1251.

Кодировка в настройках браузера никогда мной не менялась, стоит стандартная на двух компьютерах (на сервере и на личном).

Реестр вообще никогда не трогал на этих компьютерах (не было надобности там копаться).

К тому же, как уже сказал выше этот сайт отлично работает на другом сервере (Apache) и даже на Денвере, не работает только на Windows сервере.

После изменений в Диспетчере служб IIS в настройках сайта "Заголовки ответов HHTP" сайт стал нормально открываться в браузере IE, а Гугл Хром по прежнему отображает вопросами.

Базы данных переношу по инструкциям в кодировке сайта. Может существуют какие-то настройки Windows сервера, которые я ещё не настроил для нормального отображения сайта. хз.

Если внимательно читали то должны знать что означают знаки вопроса. Это не просто кодировка неверно установлена, а где то есть преобразование одной кодировки в другую, причеем скорее всего исходная кодировка указана неверно. Если это так то смена кодировки в бразузре скорее всего ничего не изменит (хотя проверить правильность установки кодировки не повредит в любом случае).

То что сайт где то там еще работает никакакой роли не играет. Ведь настройки то везде разные. Если неверно настроить то может не работать и на любом другом сервере.

Интересно что ИЕ работает, а хром нет. Возможно кто то из них меняет кодироку AJAX вызовов, а кто то использует кодировку по умолчанию.

А настроек там может быть очень много: содержимое базы (обычно в Юникоде, но иногда все еще используют 8 битные кодировки), кодировка строк в инструменте генерации динамических страниц (если используются инструменты вроде PHP с 8 битными строками), кодировка самого маркапа, кодировка AJAX запросов на клиенте и сервере, кодировка указанная в метатаге и т.п.

Настройка на сервере пожалуй одна — язык для программ не юникод. Она может влиять на инструменты вроде PHP если кодировка строк явно не указана в коде. Установите язык для неюникодных программ в Русский, это как раз и включает 1251 для 8 битных строк.

В обшем вариантов тут много. Можете продолжать разбираться сами используя инструменты вроде Фидлера, но может потребоваться помощь специалиста.

This posting is provided "AS IS" with no warranties, and confers no rights.

HTML | отображение знаков вопроса вместо русских букв

вот начало сайта, вместо фразы «РУССКИЕ БУКВЫ» сверху отображается: .

что не так, и почему? что изменить?

Браузер не знает в какой кодировке показать страницу потому что ты не указал это в HTML
<head>
<meta http-equiv=»content-type» content=»text/html; charset=windows-1251″ />

а лучше Вместо windows-1251 utf8
<meta http-equiv=»content-type» content=»text/html; charset=utf8″ />

Вопросы вместо русских букв

Начал переводить сайт на русский, но возникла проблема — вопросы вместо русских букв стало показывать. Проблема связана, думаю, с mysql, так как внутри сайта вопросы появляются вместо букв, только когда с базы данные. В базе поставил utf-8_bin, тоже не помогло. В чем может быть проблема?

user avatar

1) для Apache в .htaccess:

2) для nginx в конфиге:

3) в html-документе:

4) необходимо все сущности (таблицы) установить в кодировку utf8_general_ci

5) если используете PDO:

6) если всё ещё пользуетесь процедурным доступом к БД, то:

7) в Вашем редакторе/IDE сохраняйте файл в кодировке utf8

user avatar

Если не разберетесь с кодировкой из базы, то можете на невысоконагруженном проекте, например, конвертировать iconv налету все переменные.

Обновление

где-то как-то так:

$in — строка в любой кодировке
$out — строка в utf-8

user avatar

У меня скрипты и html странички к ним крутились на виндовс серваке, а потом все на линукс перенесли и там вместо русского были ромбики с вопросами. Нашел сначала в нете вариант через notepad++ сам html фалик сохранять в спец кодировке. Но это не дело так с каждым делать. Решение такое, заходите в httpd.conf файл апача. (у меня по умолчанию /etc/httpd/conf/httpd.conf) И там в начале есть параметр AddDefaultCharset UTF-8 Я заменил UTF-8 на windows-1251 и далее рестартанул сервак systemctl restart httpd и русский заработал на страничках в браузере.

user avatar

Проблема, скорее всего, в кодировке HTML редактора, которым вы пользуетесь. Редактор может выставлять кодировку записанного файла в соответствии с языковой версией Windows. Например, на английской версии редактор может записывать в ANSI, чего не понимается браузерами.

Решение: Кодировка HTML страницы должна совпадать с кодировкой указанной в HTML тэгом. Для универсальной UTF-8 которая сегодня используется по умолчанию в большинстве блогах и т.п. HTML страница начинается с тэгов типа

Тогда текстовый редактор должен записывывать в UTF8:

вопросы вместо русских букв

В HTML редакторе настройка может быть во время Save а может где-то в Settings а может вообще не быть.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *