Проблема с выводом инофрмации

Тема в разделе "PHP программирование", создана пользователем gugi, 18 дек 2006.

  1. gugi

    gugi Гость

    Соспна сабж...

    Делаю выборку с таблицы, вывожу данные, но вместо русских слов, я вижу знаки вопроса... кодировка в тэйблах cp1251. В чем может быть проблема?

    Код (Text):
    <?php
    $link = mysql_connect("localhost","root","");
    if(!$link) {
    trigger_error("Ошибка подключения к серверу", E_USER_ERROR);
    }
    mysql_select_db("psProds");
    $result = mysql_query("SELECT GrpID, GrpName FROM r_groups");
    if(!$result) {
    trigger_error("Невозможно выполнить указанный запрос",E_USER_ERROR);
    }
    echo "<html>";
    echo "<head>";
    echo "<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'/>";
    echo "<link rel='stylesheet' type='text/css' href='./theme_right.css.php'/>";
    echo "</head>";
    echo "<body>";
    echo "<TABLE cellspacing=1 cellpadding=0><Tr><Th><fieldset>Имя</fieldset></Th><Th><fieldset>Пароль</fieldset></Th></Tr>";
    $i=0;
    while($row = mysql_fetch_array($result)) {
    if (($i%2)==0){
    echo "<TR>";
    echo "<Td bgcolor=#E5E5E5><fieldset>{$row['GrpID']}</fieldset></Td><Td bgcolor=#E5E5E5><fieldset>{$row['GrpName']}</fieldset></Td>";
    echo "</TR>";
    }
    else {
    echo "<TR>";
    echo "<Td bgcolor=#b8b8b8><fieldset>{$row['GrpID']}</fieldset></Td><Td bgcolor=#b8b8b8><fieldset>{$row['GrpName']}</fieldset></Td>";
    echo "</TR>";
    }
    $i++;
    }
    echo "</pdflayout_table></TABLE>";
    mysql_close($link);
    echo "</body>";
    echo "</html>";
    ?>
     
  2. Gisma

    Gisma Гость

    почти наверняка, дефолтовая кодировка бд отлична от cp1251.
    Для корректировки этого смертельного случая есть несколько решений
    1. Простое : если MySQL > 4.1 = SET NAME `cp1251`
    2. Сложное (применять в обратных случаях): редактировать конфы апача, изменять работу скриптов, перекодировать их в UTF и т.д. и т.п. :)
    Может быть и такая задница, что твой апач просто буянит впихни в .htaccess такое лекарство
    AddDefaultCharset windows-1251
     
  3. Гость

    Gisma прав, у тебя не подружились кодировки клиента и сервера. Выход проще не придумаешь:
    Код (Text):
    //Сразу после mysql_connect лепишь запрос:
    $DB_CONNECT=@mysql_connect(DBServer,DBUName,DBPass);
    @mysql_select_db(DBName);
    @mysql_query("SET CHARACTER SET cp1251_koi8");//<<<<Вот эту вот строчку
    Рассказывает серверу, в какой кодировке писать и отдавать данные.
    cp1251_koi8 - пока единственное значение этого параметра и придумано специально для русских.
    Для меня лишний повод поматериться, что русский не на латинице (все не как у людей).
     
Загрузка...
Похожие Темы - Проблема выводом инофрмации
  1. ardeler
    Ответов:
    1
    Просмотров:
    2.085
  2. Renat11111
    Ответов:
    3
    Просмотров:
    2.588
  3. c0de3r
    Ответов:
    5
    Просмотров:
    119
  4. DobermannTT
    Ответов:
    10
    Просмотров:
    133
  5. SoulPaladin
    Ответов:
    3
    Просмотров:
    122

Поделиться этой страницей