• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Какая-то чушь с кодировкой

Бродяга

Снова перешел на Vist'у
Почётный участник
Регистрация
17 Апр 2010
Сообщения
1,685
Реакции
10
Баллы
0
Какая-то чушь с кодировкой

Здравствуйте :)
Небольшая предыстория: решил заняться (серьёзно заняться) созданием сайта(ов). Дабы испытать свои возможности началделать себе сайт, благо одни хороший человек посоветовал прелестную тематику. "Сляпал". До конца не доделал, увидел в интернете прелестный шаблон зарубежного сайта. Удалил всё своё, "запилил" этот шаблон и начал редактировать его.
Первой и самой сложной задачкой оказалось создание ленты новостей на главную страницу, мучился-мучился, сделал!
Конец предыстории
И тут захотелось посмотреть на свой сайт из другого браузера (я юзаю Google Chrome). Зашёл через Mozila Firefox и обомлел... (скрин, в Опере также, а вот IE отлично всё выводит)
Поменял у всех файлов кодировку на UTF-8. Результат меня поразил... НИКАКОГО РЕЗУЛЬТАТА!
Поменял всю кодировку на Winodws-1251, теперь Хром и IE "неженками притворяются", а Firefox и Opera отрабатывают за них выводя шрифт (скрина к сожалению нет, я по наивности надеялся что со временем изменится... когда этого не произошло поменял кодировку назад (на UTF-8), и опять перекодировать для примера... не очень удобно (много страниц)
В общем, никто не подскажет как заставить все браюзеры отобращать текст "по человечески"? Заранее спасибо :)

p.s. Основной файл "index.php" в кодировке UTF-8. И ещё на Мозиле и Опере не подключается css (на скрине, Яндекс поиск кривой)
 

Вложения

  • Безымянный.webp
    Безымянный.webp
    81.6 KB · Просмотры: 79
Ну так CSS надо правильно подключать, с учетом разницы в функциях обработки текстов браузерами.

Попробуйте перекодировать все страницы в кодировку UTF-8. И пропишите настройки кодировки в заголовке страницы.
 
Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="css/style.css" type="text/css"/>
:tehnari_ru_942:
Страницы уже в UTF-8, а верхние куски "с покон веков"
Вот по верой строке у меня сомнение - "text/html" а страница .php
 
Вот что нарыл на сайте вашмастер.ру
Решение проблемы с кодировкой сайта (↑)

Мы уже заметили, что все тексты на нашем сайте написаны и передаются в браузер посетителю сайта в кодировке "windows-1251". Что же сделать, дабы сервер, на котором размещён наш сайт, передавал браузеру в заголовке правильную информацию о кодировке? Давайте действовать по порядку...

1. Чтобы не зависеть от настроек сервера, на всех страницах сайта прямо в коде HTML нужно, используя мета-тег, явно прописать следующую директиву:

<meta http-equiv="content-type" content="text/html; charset=windows-1251">

Разместить её необходимо на всех страницах, желательно, сразу же после открывающегося тега <head>. Это позволит браузеру автоматически в момент загрузки и интерпретации страницы выбрать правильную кодировку отображения в соответствии с полученной директивой! Одной этой директивы должно быть достаточно для решения нашей проблемы. Но так задумывалось в теории. А на практике, этой директивы не всегда достаточно. В редких случаях, но бывает так, что браузер в качестве кодировки для отображения страницы выбирает не ту, что указана в директиве на самой странице, а ту, что была передана в заголовке от сервера! И если указанная в двух местах информация о кодировке не совпадает, то проблема может остаться.

2. Чтобы сервер отдавал в своём ответе правильную информацию о кодировке, необходимо в корне своего сайта создать файл .htaccess и прописать в нём директиву:

AddDefaultCharset windows-1251

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

Если файл .htaccess уже существует на вашем сервере, то просто добавьте указанную директиву, например, в самом начале. И ни в коем случае не удаляйте без надобности уже существующую в нём информацию!

Вот и всё решение проблемы. Согласитесь, всё это не так сложно?! Зато очень полезно для профилактики всевозможных проблем с пресловутой кодировкой.

Выполнив последовательно две перечисленные выше рекомендации, браузеры уже точно не смогут ошибиться в автоматическом выборе правильной кодировки отображения информации на вашем сайте. Всё-таки мы указали однозначно, правильно и даже в двух разных директивах информацию о кодировке!
 
Спасибо :) Сейчас попробую :)
Может глупость сморожу: а что лучше(универсальней) utf-8 или windows-1251?:tehnari_ru_942:

Вытащил .htaccess с чьего-то сайта и всё более-менее выровнялось :)
Спасибо большое за ценное указание!
 
Последнее редактирование:
UTF-8, однозначно!
 
Понял :) Спасибо :)

p.s.А не подскажете какой "utf8" выбирать в phpmyAdmin для более "хорошего" текста на выходе? Там "utf8_general_ci", "utf_unicode_ci", "utf8_bin" и т.п. (всего я насчитал 22 "штуки")
 
utf_unicode_cyr :))
 
Назад
Сверху