У меня вот такая проблема. На локальном сервере "denwer" разместил сайт PHP, кодировка - utf-8, подключил БД. Символы, которые выводит БД отображаются правильно. Но русские буквы, которые подключены с помощью <? include("blocks/.....php");?> отображаются иероглифами. В чем дело?
хз. что это за «русские буквы, которые подключены с помощью <? include("blocks/.....php");?>». расшифруй пожалуйста.
кодировка в норме, везде utf-8, кстати пробовал на windows-1251 - один хрен. А по поводу - <? include("blocks/.....php");?> -это php код, который ссылается на документ php с текстом, например - "добро пожаловать", а в результате - разрабоС
Тыкс, по твоему фрагменту диагноз такой: фрагмент в UTF-8, а браузер так не считает. Загляни в заголовки ответа. Ну или принудительно сделай в самом начале, до первого текста или echo: header('Content-type: text/html; charset=utf-8'); Добавлено спустя 2 минуты 55 секунд: Вообще у denwer была (видимо и осталась) глупая заморочка с чарсетом по умолчанию. Он считал, что сайты по умолчанию будут в 1251. Поищи в конфигурации денвера строку "AddDefaultCharset" и закомментируй ее, затем перезапусти сервер.
Я решаю проблему так: Открываю блокнот пишу вот такую строчку: AddDefaultCharset utf-8 Потом сохраняю под именем .htaccess в папку с сайтом, ну например denwer/home/test1.ru/www .
в самом начале было написано: скорее наоборот, ВСЁ неправильно. в базу попал испорченный текст, на страницу он (в результате повторной неправильной перекодировки) выводится правдоподобно ))) хотя пара букв обязательно портится, только это не сразу заметно. Мини-пособие по наведению порядка. 1. понять как браузер определяет кодировку страницы — наивысший приоритет у http-заголовка, затем, если не указано, то тег meta charset 2. убедиться, что с сервера заголовки приходят правильные. можно через "Информация о странице". если неправильные — колдовать с конфигурацией сервера. AddDefaultCharset — или добавить для этого сайта или наоборот убрать неправильную для всего сервера 3. понять, что кодировка в базе и кодировка на странице могут совпадать, а могут не совпадать. но всё будет хорошо, если mysql будет в курсе про то, какую кодировку мы хотим иметь на странице. он сам всё перекодирует на лету. читать про "set names" 4. если включаем set names и видим плохой результат, это не сейчас мы делаем ошибку, это мы видим ошибки из прошлого — данные уже записались неправильно. удачи!
Всё правильно.. сервер по умолчанию отдаёт кодировку отличную от utf-8 PS советую всё такие поменять денвер на openServer.. Намного интереснее
Всем спасибо. Создал новый сайт, скопировал туда все содержимое "проблемного" сайта и все стало так как надо ) ХЗ в чем была проблема, я думаю что denwer вые.....)
Надо сделать вот такой запрос после соединения с БД: mysql_query("SET NAMES cp1251"); И все получится!