|
|
|
| Вчера купил книку: PHP5 практика по созданию web-сайтов.
скопировал и запустил скрипты с диска и проктически на каждой странице выскакивают
"Notice: Undefined variable: ....."
и куча вопросительных знаков вместо текста... пример приложен на фото..
не могли бы вы помочь разобратся с этим? | |
|
|
|
|
|
|
|
для: Kicher
(04.11.2006 в 12:25)
| | Вы прописывали
mysql_query ("set names 'cp1251'");
|
И в командной строке меняли кодировку? | |
|
|
|
|
|
|
|
для: Mpak
(04.11.2006 в 12:39)
| | извините...
а куда это прописывать?
нет не прописывал... сейчас поковырялся уже в PhpMyAdmin хоть исчезли вопросительные знаки а вот в браузере попрежнему...
все таблицы в PhpMyAdmin в "cp1251_general_ci" | |
|
|
|
|
|
|
|
для: Kicher
(04.11.2006 в 12:48)
| | Этот запрос поместите в конец файла config.php. | |
|
|
|
|
|
|
|
для: cheops
(04.11.2006 в 13:18)
| | О! Большое спасибо! все заработало!
а по чему так.. в базе нормально а вывод не нормальный? | |
|
|
|
|
|
|
|
для: Kicher
(04.11.2006 в 13:23)
| | Дело в том, что с момента написания книги, сменилась концепция управления кодировок в MySQL, теперь можно настраивать кодировку соединения. Скажем хранится у вас всё в кодировке cp1251, а пользователь вводит данные в кодировке koi8-r, вы можете перекодировать данные "на лету" средствами MySQL - раньше так было нельзя. Расплата за такое удобство - нужно явно указывать в какой кодировке вы собиратесь передавать данные MySQL. Если этого не указать - данные будут искажены - русский текст превратится в знаки вопросов. Подробнее об кодировках в MySQL версии выше 4.1 можно почитать в статье | |
|
|
|
|
|
|
|
для: cheops
(04.11.2006 в 13:27)
| | Большое спасибо! | |
|
|
|
|
|
|
|
для: Kicher
(04.11.2006 в 12:25)
| | Notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок. | |
|
|
|
|
|
|
|
для: cheops
(04.11.2006 в 12:49)
| | с нотайсом все понятно.. там просто переменная не задана во многих местах... вот кодировка.... (((
странно с базе по русски а выводит знаки вопроса... | |
|
|
|
|
|
|
|
для: Kicher
(04.11.2006 в 12:56)
| | а как быть с форумом LiteForum 2.0.0?
скопировал, изменил уровень ошибок, если с сайтом добавив строчку mysql_query ("set names 'cp1251'"); в конец все пере кодируется то с форумом так не получается... | |
|
|
|
|
|
|
|
для: Kicher
(22.11.2006 в 13:03)
| | Необходимо добавить
mysql_query ("set names 'cp1251'");
|
в inc-файл системы администрирования, а лучше загрузить более новую версию форума из раздела downloads http://www.softtime.ru/info/liteforum.php. | |
|
|
|