Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение русских букв на непонятные символы.
 
 автор: Byka   (22.01.2012 в 15:53)   письмо автору
 
 

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

  Ответить  
 
 автор: cheops   (22.01.2012 в 16:14)   письмо автору
 
   для: Byka   (22.01.2012 в 15:53)
 

Мало подробностей. Текст в скрипте откуда берется? Из базы данных или прямо так и вбит в скрипт? В скрипте выводятся META-тэги с указанием кодировки, как это делается в HTML-странице? В общем нужно больше подробностей, так как причин такого поведения может быть довольно много (пока трудно сказать, какая из них может приводить к такой проблеме).

  Ответить  
 
 автор: Byka   (22.01.2012 в 16:48)   письмо автору
 
   для: cheops   (22.01.2012 в 16:14)
 

Подробнее я просто прохожу обучение по работе с PHP и пытаюсь вывести переменную на страничку. Текст пишу сам это выглядит примерно так:
<?php

$name = "Александр";
$age = 25;

echo "$name";



?>
и вместо Александр всякая фигня выводится.

  Ответить  
 
 автор: Роккер Руслан   (22.01.2012 в 16:16)   письмо автору
128 байт
 
   для: Byka   (22.01.2012 в 15:53)
 

Так.. привет) Проблема может быть очень во многом... Давай по порядку)
1) В корневом каталоге сайта помести файл который я прикрепляю) - .htaccess
в кратце решает проблемы с кодировкой на локальном сервере? Ты же аппач используешь?
2) В самом начале файла в котором ты работаешь помести строчку:
<meta http-equiv="content-type" content="text/html; charset=utf-8">

сообщаем браузеру какая кодировка.. если не получилось пиши.. будем разбираться)

  Ответить  
 
 автор: Byka   (22.01.2012 в 16:43)   письмо автору
 
   для: Роккер Руслан   (22.01.2012 в 16:16)
 

Второй пункт у меня сделан.
Использую для проверки лок серв Денвер, а для самого написания сайта ДреамВивер.
И пожалста поподробнее что надо прикрепить?? .htaccess? А все понял спасибо щас проверю=))

  Ответить  
 
 автор: cheops   (22.01.2012 в 16:48)   письмо автору
 
   для: Byka   (22.01.2012 в 16:43)
 

Лучше всего прикрепить файл с проблемным PHP-скриптом, чтобы можно было воспроизвести ситуацию. Со слов довольно сложно выяснить в чем дело, а когда проблему видишь глазами и можешь запустить руки в код - все выясняется гораздо быстрее.

  Ответить  
 
 автор: Byka   (22.01.2012 в 16:49)   письмо автору
364 байт
 
   для: cheops   (22.01.2012 в 16:48)
 

Вот. Хм прикрепил посмотрел что прикрепил и там вот те самые символы o_O оочень странно :D

  Ответить  
 
 автор: cheops   (22.01.2012 в 17:10)   письмо автору
 
   для: Byka   (22.01.2012 в 16:49)
 

Так у меня файл вывелся абсолютно штатно без крокозябликов.

Посмотрите в браузере, какая кодировка выбрана при открытии этого файла. Если выбрана конкретная кодировка, попробуйте поставить "Автоопределение". Если не сложно, сообщите также каким браузером пользуетесь?

  Ответить  
 
 автор: Byka   (22.01.2012 в 17:16)   письмо автору
 
   для: cheops   (22.01.2012 в 17:10)
 

Есть все браузеры но в основном пользуюсь хромом. Проблема в том, что у меня у всех браузеров вот такая крокозябля(( Где в браузере поменя кодировку???И проблема эта у всех браузеров.

  Ответить  
 
 автор: cheops   (22.01.2012 в 17:20)   письмо автору
 
   для: Byka   (22.01.2012 в 17:16)
 

Если во всех браузерах, то скорее всего тогда проблема на уровне Apache. У вас в текущей папке или в папках выше уровнем нет директивы AddDefaultCharset в .htaccess? Посмотрите также нет ли этой директивы в файле httpd.conf сервера Apache?

  Ответить  
 
 автор: Byka   (22.01.2012 в 17:49)   письмо автору
 
   для: cheops   (22.01.2012 в 17:20)
 

Если чесно вообще не знаю что такое Apache)) а в корневой папке такой директивы нет.

  Ответить  
 
 автор: cheops   (22.01.2012 в 17:56)   письмо автору
 
   для: Byka   (22.01.2012 в 17:49)
 

А где у вас установлен Денвер, какие там папки?

Apache - в данном случае часть Денвера, но вообще самостоятельный Web-сервер, именно он обеспечивает работу сайтов, в том числе и этого, в том числе и вашей локальной машины (он вообще обеспечивает работоспособность до 70% Web-серверов Интернет). Просто Денвер - это настроенная связка серверов, профессионалы их ставят и настраивают отдельно, однако, многим трудно сразу разобраться и настроить серверы, пусть и для локальной работы. Поэтому создали Денвер, который позволяет сразу кодировать... но с исходными серверами все-равно придется рано или поздно иметь дело: вот для вас время уже настало, у вас русский язык не работает :))), нужно разбираться с настройками сервера.

  Ответить  
 
 автор: Byka   (22.01.2012 в 18:06)   письмо автору
 
   для: cheops   (22.01.2012 в 17:56)
 

Ну вот собственно директория того файла который я прикреплял:
N:\home\localhost\www\php
А сам денвер установлен:
C:\testingserver\denwer
Содержит папки scripts tools utils www

  Ответить  
 
 автор: cheops   (22.01.2012 в 18:11)   письмо автору
 
   для: Byka   (22.01.2012 в 18:06)
 

В подпапках denwer поищите подпапку apache.

  Ответить  
 
 автор: cheops   (22.01.2012 в 18:13)   письмо автору
 
   для: Byka   (22.01.2012 в 18:06)
 

Обратите также внимание на сообщение Роккер Руслан, можно действительно не роясь в конфигурационных папках жестко задать кодировку при помощи файла .htaccess в директории со скриптом. Файл .htaccess - это тоже конфигурационный файл Apache для настройки параметров текущей папки.

  Ответить  
 
 автор: Роккер Руслан   (22.01.2012 в 18:05)   письмо автору
 
   для: Byka   (22.01.2012 в 16:49)
 

Вы куда положили файл .htaccess ? Нужно положить в папку с сайтом, то есть где расположен файл страницы где вы производите работу. Проверьте пожалуйста.
Вот открываете блокнот помещаете туда вот такой код:
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetSourceEnc utf-8
CharsetDefault utf-8
</IfModule>

И сохраняете вот с таким именем:
.htaccess
точку впереди не забудьте... и без всякого расширения. Просто "сохранить как" и набираете .htaccess

  Ответить  
 
 автор: Byka   (22.01.2012 в 18:11)   письмо автору
 
   для: Роккер Руслан   (22.01.2012 в 18:05)
 

Не работает.

  Ответить  
 
 автор: cheops   (22.01.2012 в 18:15)   письмо автору
 
   для: Byka   (22.01.2012 в 18:11)
 

А как крокозяблики выглядят? Можете скрин-шот с битой русской фразой привести, чтобы можно было определить в какой кодировке у вас Apache отправляет данные?

  Ответить  
 
 автор: Byka   (22.01.2012 в 19:03)   письмо автору
 
   для: cheops   (22.01.2012 в 18:15)
 

Кодировка UTF-8 в смысле с битой фразой? То есть в моем браузере запустить и скрин сделать??

  Ответить  
 
 автор: Роккер Руслан   (22.01.2012 в 18:15)   письмо автору
263.7 Кб
 
   для: Byka   (22.01.2012 в 18:11)
 

еще раз хочу сказать .. у файла не должно быть расширение.... Заскриньте пожалуйста проводник где у вас лежит файл страницы и файл .htaccess
Вот как на приложенном сриншоте

  Ответить  
 
 автор: Byka   (22.01.2012 в 19:17)   письмо автору
 
   для: Роккер Руслан   (22.01.2012 в 18:15)
 

Вот

  Ответить  
 
 автор: Роккер Руслан   (22.01.2012 в 20:37)   письмо автору
177.9 Кб
 
   для: Byka   (22.01.2012 в 19:17)
 

Ну как говориться: Что и требовалось доказать))) У вас файл имеет расширение txt .... Вы понимаете о чём я?... Нужно сохранять без расширения .. вот как на приложенном файле)

  Ответить  
 
 автор: Byka   (22.01.2012 в 21:07)   письмо автору
 
   для: Роккер Руслан   (22.01.2012 в 20:37)
 

Сохранил, проверил, тоже самое все...

  Ответить  
 
 автор: Роккер Руслан   (22.01.2012 в 21:09)   письмо автору
 
   для: Byka   (22.01.2012 в 21:07)
 

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

  Ответить  
 
 автор: Slo_Nik   (22.01.2012 в 19:30)   письмо автору
 
   для: Роккер Руслан   (22.01.2012 в 18:15)
 

Если у Вас в файле .htaccess указана нужная Вам кодировка,
если у Вас в meta теге прописана нужная Вам кодировка,
но в файле всё равно отображается криво, то возможно надо проверить в какой кодировке сохранён сам файл.
Удобно посмотреть через notepadd++
Если у Вас везде utf-8, то в notepadd++ на закладке "кодировка" должна стоять отметка напротив
UTF-8(без BOM )

p.s. блин, не тому человеку ответил... но думаю, что автор топика разберётся )))

  Ответить  
 
 автор: Byka   (22.01.2012 в 21:05)   письмо автору
 
   для: Slo_Nik   (22.01.2012 в 19:30)
 

Знаю знаю я про notepadd++ и уже делал я там кодировку UTF-8, но все равно спасибо))

  Ответить  
 
 автор: Роккер Руслан   (22.01.2012 в 21:06)   письмо автору
 
   для: Byka   (22.01.2012 в 21:05)
 

прочитайте моё сообщение чуть выше)

  Ответить  
 
 автор: Byka   (22.01.2012 в 21:14)   письмо автору
 
   для: Роккер Руслан   (22.01.2012 в 21:06)
 

Читал ответьте ответ выше))

  Ответить  
 
 автор: Роккер Руслан   (22.01.2012 в 21:18)   письмо автору
 
   для: Byka   (22.01.2012 в 21:14)
 

Еще раз говорю... если вы сделали всё правильно, то файл .htaccess будет так сказать "главенствующим" над вашими файлами которые расположены в директоии... Что бы у вас небыло установленно в Apache ... Так что скриншёт в студию

  Ответить  
 
 автор: Byka   (22.01.2012 в 21:54)   письмо автору
 
   для: Роккер Руслан   (22.01.2012 в 21:18)
 

Ура все работает!!! Спасибо большое!! Я понял в чем проблема я просто сохранял как все файлы но не с расширением UTF-8 сейчас исправил все отлично написано)) Еще раз спасибо!
Так спешил исправить, что даже не заметил внизу красным кодировку изменить ))))

  Ответить  
 
 автор: Роккер Руслан   (23.01.2012 в 06:32)   письмо автору
 
   для: Byka   (22.01.2012 в 21:54)
 

рад был помоч)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования