ФорумПрограммированиеPHP для идиотов → Взаимодействие с базой данных

Взаимодействие с базой данных

  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 7 сентября 2008 г. 9:36

    При выводе таблицы из БД на сайт, у меня почему то все русские надписи переделываются на ироглифы (Название), а данные из БД так и остаются русскими. В бд данные у меня в "cp1251_general_ci".
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 7 сентября 2008 г. 12:50, спустя 3 часа 14 минут 9 секунд

    А страница в какой кодировке у вас? Или ссылку дайте на сайт.
    adw/0
  • disc

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 7 сентября 2008 г. 13:28, спустя 37 минут 29 секунд

    mysql_query("SET NAMES cp1251");

    такой запрос в самом начале должен помочь
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 7 сентября 2008 г. 13:53, спустя 25 минут 35 секунд


    mysql_query("SET NAMES cp1251");

    такой запрос в самом начале должен помочь

    Вообщем чет я не пойму, если я пишу точно так же как ты, то ничего не меняется. Если так
    mysql_query("SET NAMES cp1251_general_ci");

    то текст из базы выводиться вот так: "??????????"
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 7 сентября 2008 г. 13:57, спустя 3 минуты 47 секунд


    А страница в какой кодировке у вас? Или ссылку дайте на сайт.

    А как это посмотрать? )) Или это задается тегом META?
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 7 сентября 2008 г. 14:17, спустя 20 минут 27 секунд

    а может быть данные в базе уже похерены?
    в таком случае только перезаливать дамп



    mysql_query("SET NAMES cp1251");

    такой запрос в самом начале должен помочь

    Вообщем чет я не пойму, если я пишу точно так же как ты, то ничего не меняется. Если так
    mysql_query("SET NAMES cp1251_general_ci");

    то текст из базы выводиться вот так: "??????????"
    надо посылать запрос как написал disc




    А страница в какой кодировке у вас? Или ссылку дайте на сайт.

    А как это посмотрать? )) Или это задается тегом META?

    да, это передается этим тегом
    все умрут, а я изумруд
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 7 сентября 2008 г. 14:57, спустя 39 минут 54 секунды

    Начнем с того что SET NAMES задает кодировку для работы с СУБД. И оно спасет только от "символов вопроса".
    Но не как не от "Название". Так что проблема очевидна: Прописать мета-тег "Content-Type", в котором указать кодировку, в которой поступаю данные от СУБД.

    Пример:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    adw/0
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 8 сентября 2008 г. 5:07, спустя 14 часов 10 минут 1 секунду

    всеравно знаки вопросов
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 8 сентября 2008 г. 5:15, спустя 7 минут 24 секунды

    ещё раз спрашиваю, в самой базе нормально данные загружены?
    есть phpmyadmin, к примеру, чтобы через него посмотреть
    все умрут, а я изумруд
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 8 сентября 2008 г. 5:21, спустя 6 минут 28 секунд

    Да, в БД данные нормальные.
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 8 сентября 2008 г. 5:23, спустя 1 минуту 15 секунд

    Даже проверяю на компе, и на хостинге, и разными браузерами )
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 8 сентября 2008 г. 5:25, спустя 2 минуты 53 секунды

    и в какой кодировке данные в БД?
    все умрут, а я изумруд
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 8 сентября 2008 г. 5:27, спустя 2 минуты


    В бд данные у меня в "cp1251_general_ci".
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 8 сентября 2008 г. 5:36, спустя 9 минут 3 секунды

    }/{EHR, код в студию:
    * соединения с СУБД
    * верстку страницы

    желательно ссылку на сайт
    adw/0
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 8 сентября 2008 г. 5:49, спустя 12 минут 50 секунд

    <html>
    <head>
    <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    <title>Название</title>
    </head>
    <body>
    <?php
    $host=&#39;localhost&#39;;
    $database=&#39;database&#39;;
    $user=&#39;user&#39;;
    $pswd=&#39;password&#39;;
    $dbh = mysql_connect($host, $user, $pswd) or die(&quot;Нет соединения с SQL&quot;);
    mysql_select_db($database) or die(&quot;Не подключается к БД&quot;);
    mysql_query(&quot;SET NAMES cp1251&quot;);
    ?>
    <table border=&quot;1&quot; width=&quot;100%&quot; bgcolor=&quot;#FFFFFF&quot;>
    <tr><td>ID</td><td>Название</td><td>SN</td>
    <td>ХЗ</td><td>ХЗ</td></tr><tr>
    <?php
    $q = mysql_query (&quot;SELECT * FROM menu&quot;);
    for ($c=0; $c<mysql_num_rows($q); $c++)
    {
    $f = mysql_fetch_array($q);
    echo &quot;<td>$f[ID]</td><td>$f[name]</td><td>$f[SN]</td>&quot;;
    echo &quot;<td>$f[N]</td><td>$f[CLA]</td>&quot;;
    }
    ?>
    </table></tr>
    </body>
    </html>

Пожалуйста, авторизуйтесь, чтобы написать комментарий!