Вот полное состояние моей базы, выражены на фото. У меня есть файл 1.php в нём такой код: Код (Text): <?php include '../blocks/database.php'; /*Соединяемся с Базой Данных*/ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="../style.css" /> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Видеокурсы по заработку в Интернет</title> </head> <body> <!--Шапка сайта --> <?php include '../blocks/header.php' ?> <!--Левая навигация--> <?php include '../blocks/navigator_left_zar_v_internet.php' ?> <!--Правая навигация--> <?php include '../blocks/navigator_right_zar_v_internet.php' ?> <!--Контент--> <?php include '../blocks/kontent1.php' ?> <!--Copyright--> <?php include '../blocks/footer.php' ?> </body> </html> Через файл kontent1.php я вывожу всё с базы на экран, вот содержимое kontent1.php Код (Text): <div class="center"> <div class="zagolovok">Компьютерные видеокурсы для начинающих</div> <br /> <?php include '../blocks/database.php'; /*Соединяемся с Базой Данных*/ ?> <?php //Число постов выводящих на странице $num = 3; @$page = $_GET['page']; if(empty($page)){ $page = 1; } $result = mysql_query("select COUNT(*) FROM lessons2",$connect); $posts = mysql_result($result,0); //Находим общее количество страниц $chislo_str = intval(($posts-1)/$num)+1; $page = intval($page); //empty($page) Если переменной не существует или ее значение равно нулю if(empty($page) or $page<0) $page = 1; if($page > $chislo_str) $page = $chislo_str; // Если ввести $page=7 тогда 7*3-3=18 //с 18 поста будет выводится пост 18,19,20 на странице №7 $start = $page * $num - $num; /*--------------------Выводов Постов--------------------------------------*/ if ( isset ( $_GET['id'] ) ) { //Увеличиваем заданный счетчик $update = mysql_query ( "UPDATE `lessons2` SET `lessons2`.`obnovlenie` = `lessons2`.`obnovlenie` + 1 WHERE `lessons2`.`id` = {$_GET['id']} LIMIT 1" ) or die ( mysql_error() ); //Запрос на выборку из нашей таблицы $query = mysql_query ( "SELECT * FROM `lessons2` WHERE `lessons2`.`id` = {$_GET['id']} LIMIT 1" ) or die ( mysql_error() ); //Получаем результат $resalt = mysql_fetch_assoc ( $query ); //Выводим полную новость echo $resalt['podrobnosti']; // '<br /><a href="', $_SERVER['HTTP_REFERER'], '" title="Назад">Назад</a>'; } else{ //Запрос на выборку из нашей таблицы $query = mysql_query ( "SELECT * FROM lessons2 LIMIT $start, $num" ) or die ( mysql_error() ); while ( $resalt = mysql_fetch_assoc ( $query ) ) { echo $resalt['text'], '</a> <span class="prosmotrov" style="line-height:45px;">Просмотров: <span class="green schetok1">',$resalt['obnovlenie'], '</span></span> '; } //------------------------------------------------ // Стрелка назад if($page>1) $nazad= '<a class="knopka_nazad1" href= ./1.php?page='.($page-1).'>Назад</a>'; else $nazad= '<span class="knopka_nazad2">Назад</span>'; //Стрелка вперед if($page<$chislo_str) $vpered = '<a class="knopka_vpered1" href= ../videolessons/1.php?page='.($page + 1).'>Вперёд</a>'; else $vpered= '<span class="knopka_vpered2">Вперёд</span>'; // Вывод меню $expand_to = 4; // сколько страниц должно показываться слева и справа от текущей // начало и конец "соседних" страниц $a = $page - $expand_to; if ($a < 1) $a = 1; $b = $page + $expand_to; if ($b > $chislo_str) $b = $chislo_str; if ($a > 1) // надо ли показывать отдельно ссылку на первую и "..." { $navigation[] = "<a href=\"./1.php?page=1\">1</a>"; if ($a > 2) $navigation[] = "..."; } // генерируем ссылки на "соседние" страницы for ($i = $a; $i <= $b; $i++) $navigation[] = ($page == $i) ? '<span class="tek_str">'.$i.'</span>' : "<a class='str_nav' href=\"./1.php?page=$i\">$i</a>"; if ($b < $chislo_str) // надо ли показывать отдельно "..." и ссылку на последнюю { if ($b < $chislo_str - 1) $navigation[] = '...'; $navigation[] = "<a href=\"./1.php?page=$chislo_str\">$chislo_str</a>"; } // выводим готовую навигацию echo '<div class="navig"'.$nazad.' '.implode(' ', $navigation).' '.$vpered.'</div>'; } ?> <!----------------------------------------------------------------------------> </div> <!----------------------------------------------------------------------------> Файл database.php Код (Text): <?php $server = 'localhost'; //Имя сервера $user = 'xai'; //Логин $password = '12345'; //Пароль $db = 'video'; $table = 'lessons'; //Название таблицы $error_database = '<h2>Произошла ошибка в базе данных,<br/> в ближайшее время она будет устранена!</h2>'; $connect = mysql_connect($server,$user,$password); if(!$connect){ echo $error_database; exit; }; //$connect по какому соединению мы работаем $select = mysql_select_db($db,$connect); if(!$select){ echo $error_database; exit; }; ?> На локальном компьютере всё достаёт русским, как пробую на phpmyadmin 5 версии(там хостинг), такие кракозябры вылетают, уже не знаю что делать.
Golovastik 1 - выбросьте видеоуроки и купите нормальную книжку (если нет времени читать, бросьте программирование, это не для вас) 2 - KOI8-R и cp1251 это прошлый век, переходите на UTF8 3 - есть РНР такая функция как mysql_set_charset 4 - но и это уже вчерашний день, используйте Mysqli (MySQL Improved Extension) или PDO (PHP Data Objects) 5 - в этом коде есть большая дыра, видеоурок видимо этого вам не пояснил, а значит ничему хорошему он не научит (см.п1)
Vladson я так думаю, что "нормально" это когда у тебя диалог с БД-сервером идет на одном с твоей кодировкой языке, а не когда приходится применять костыли =)
а я хочу, всегда юзал SET NAMES и до сих пор никаких проблем не было Vladson почему mysql_set_charset лучше?
Внатуре, и в mysqli такая же херня. И коллекшен устанавливается тоже нормально. Надо юзать mysql_set_charset()
Для теста, создал 1 файл без никаких других файлов, чисто для того чтоб достать одну фразу с базы данных и вывести её на экран, всё равно выдало знаками вопроса. Вот содержимое файла index.php. Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="style.css" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="description" content=" " /> <meta name="keywords" content="" /> <title>Главная</title> </head> <body > <!--Главная страница --> <div style="text-align:center; margin-top:20px; color:#006633; font-family:Verdana, Arial, Helvetica, sans-serif;" > <br /> <?php $server = 'localhost'; //Имя сервера $user = 'voxri119_xai'; //Логин $password = 't37du78ah4'; //Пароль $db = 'voxri119_video'; $table = 'lessons'; //Название таблицы $error_database = '<h2>Произошла ошибка в базе данных,<br/> в ближайшее время она будет устранена!</h2>'; $connect = mysql_connect($server,$user,$password); if(!$connect){ echo $error_database; exit; }; mysql_query("set names utf-8"); //$connect по какому соединению мы работаем $select = mysql_select_db($db,$connect); if(!$select){ echo $error_database; exit; }; $z = mysql_query("select * from voxri119_video.privet",$connect); $rez = mysql_fetch_assoc($z); echo $rez['text']; ?> </div> </html> ВЫДАЁТ ЗНАКАМИ ВОПРОСА!!! Что делать? http://ipicture.ru/uploads/101031/3uTmbxD35R.jpg
Скажите, везде настроил как ві сказали, сработало наконец-то. Вопрос такой. почему если не прописать mysql_query("set names utf8"); не будет работать?
Как базу данных создать чтоб именно в кодировке нужной была ютф? Пробую созданную изменить, не выходит, пробую так: Код (Text): alter database video default character set utf8_general_ci Меня интересует именно как запросом написать, как ни пробовал постоянно ошибки. Код (Text): CREATE DATABASE video WITH ENCODING 'utf8';
Как базу данных создать чтоб именно в кодировке нужной была ютф? Пробую созданную изменить, не выходит, пробую так: Код (Text): alter database voxri119_video default character set utf8_general_ci Меня интересует именно как запросом написать, как ни пробовал постоянно ошибки. Код (Text): CREATE DATABASE voxri119_video WITH ENCODING 'utf8'; Ошибка SQL-запрос : ALTER DATABASE `voxri119_video` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci Ответ MySQL: #1064 - You have an error in your SQL syntax near 'DATABASE `voxri119_video` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci' at line 1 [Документация] · [Назад]
Ввоже в адресной строке браузера. privet.ru test1.ru localhost/phpmyadmin и ничего не запускается, выдаёт 404 Скачал по ссылке: http://www.denwer.ru/ Апач 5.3, что не запускаю, выдаёт 404, запускаю тестовую test1.ru не запускается 404, положил сайт, privet.ruв нём папка www - файл index.php в нём банальное <?php echo 'Privet'; ?> не запускается, что делать?
Golovastik В топку пхп. Заводы стоят, а в стране одни программисты. Уверен у тебя там получится больше.