За последние 24 часа нас посетили 17217 программистов и 1302 робота. Сейчас ищут 1696 программистов ...

Помогите с кодировкой: на странице только ?

Тема в разделе "MySQL", создана пользователем alex6565, 1 сен 2006.

  1. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    В PHP скрипте выбираю из MySQL базы данные и отображаю на странице. Кодировки и базы и таблиц: "cp1251 (Windows Cyrillic)", но русский текст на странице отображается только как "??????????????????????"
    Как побороть эту фигню?
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    alex6565

    какая версия MySQL
    покажи конфиг MySQL по кодировкам
    в какой кодировке отдается страница? покажи header()
     
  3. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    MySQL 5.0
    К сожалению - это все, что я могу сказать. Я вообще программист Oracle. Начальство, в качестве общественной нагрузки, попросило доработать корпоративный сайт, поэтому пришлось срочно что-то начитать по PHP&MySQL.
    Помогите разобраться с этой глупостью - програмимист программиста всегда поймет! Спасибо.
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    alex6565

    чем админим MySQL?
     
  5. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    SQL Manager 2005 for MySQL, но можно и PHPMyAdmin
     
  6. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    alex6565

    1. вот там геде-то есть нстройки кодировок. надо проставить все в нужные
    2. после коннекта выдать mysql_query('SET NAMES CP1251');
     
  7. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    Да, в том-то и вся беда, что и БД и таблицы с правильными кодировками. В PHPMyAdmin я просматриваю данные - показывает нормально. На страничках все, что выводится через "echo", тоже нормально по-русски, но все, что получено в результате запроса из базы - только "????????????"

    Строку "mysql_query('SET NAMES CP1251');" поставил и в connect.inc после получения коннекта и в начале каждой странички - результат тот же :(
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    снаружи сайт видно? покажи?
     
  9. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    Да нет, моих трудов пока снаружи нет - на первой страничке споткнулся.
    К сожалению не помогло и такое (в connect.inc)
    <?php
    #соединяемся с БД
    @ $db = new mysqli('######','#####','#####','####');
    #проверяем коннект
    if (mysqli_connect_errno())
    {
    echo'Ошибка: Не удалось установить соединение с базой данных.';
    exit;
    }
    $query1= "set character set cp1251";
    $result = $db->query($query1);
    ?>
     
  10. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    Мой ICQ: 307-967-013
    Может так быстрее получится?
     
  11. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    я же писал

    SET NAMES CP1251

    и надо проверять что mysql_query возвращает
     
  12. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    Огромное спасибо! Я справился сам!

    Как же это проще в Оракле!!! :)
     
  13. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Oracle это святое! я тебя понимаю ... особенно на многорейдовых массивах на каком нить кластере с базой в пару Тб
     
  14. alex6565

    alex6565 Активный пользователь

    С нами с:
    1 сен 2006
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Moscow
    На одном языке говорим, товарищь!!! :)
    Кстати вылечил проблему так:
    в заголовке каждого файла

    require_once 'connect.inc';
    $query1= "set character set cp1251";
    $result = $db->query($query1);

    SET NAMES CP1251 - почему-то не прокатило :(

    Еще раз спасибо! Приятных выходных!
     
  15. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    alex6565

    значит на серваке не все кодировки правильно выставлены
    смотри конфиг