Кодировка.

Тема в разделе "Shop-script", создана пользователем yurik010203, 16 ноя 2008.

Статус темы:
Закрыта.
Модераторы: kadurinho
  1. yurik010203

    yurik010203 Создатель

    Регистр.:
    30 сен 2008
    Сообщения:
    23
    Симпатии:
    0
    Кириллица из БД отображается знаками "?".
    Подскажите, как решить проблемку.
     

    Вложения:

    • pic1.JPG
      pic1.JPG
      Размер файла:
      19 КБ
      Просмотров:
      10
    • pic2.JPG
      pic2.JPG
      Размер файла:
      51,1 КБ
      Просмотров:
      12
  2. alexander-x

    alexander-x Постоялец

    Регистр.:
    20 май 2007
    Сообщения:
    130
    Симпатии:
    26
    у меня была та же проблема, решение сделал,

    есть решение, но мне жутко не нравтся, может кто подскажет идею получше (кодировку базы поменять нельязя, сервак буржуйский)

    в mysql.php добавил после подключения строку
    db_query('SET NAMES cp1251');
     
    yurik010203 нравится это.
  3. yurik010203

    yurik010203 Создатель

    Регистр.:
    30 сен 2008
    Сообщения:
    23
    Симпатии:
    0
    Опробуем...

    Спасибо.
    У меня сервер свой (тестовый), кодировка сервера по умолчанию ср1251.
    Видать это и есть лекарство.
    Может кто еще что может предложить?
     
  4. MastZzz

    MastZzz Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    62
    Симпатии:
    6
    db_query('SET NAMES cp1251')
    эту строчку я повставлял ручками везде в файлы (они в корне, лучше пройти поиском), после

    db_connect(DB_HOST,DB_USER,DB_PASS) or die (db_error());
    db_select_db(DB_NAME) or die (db_error());

    проблема ушла
     
  5. rtrim

    rtrim Постоялец

    Регистр.:
    12 янв 2009
    Сообщения:
    67
    Симпатии:
    33
    Поставь
    mysql_query ("SET NAMES cp1251");
    mysql_query ("SET SESSION character_set_results=cp1251");
    mysql_query ("set collation_connection='cp1251_general_ci'");
    mysql_query ("set character_set_results='cp1251'");
    mysql_query ("set character_set_client='cp1251'");

    В index.php и admin.php
    после //connect to the database
    db_connect(DB_HOST,DB_USER,DB_PASS) or die (db_error());
    db_select_db(DB_NAME) or die (db_error());
     
  6. NeoGayver

    NeoGayver

    Регистр.:
    27 авг 2008
    Сообщения:
    225
    Симпатии:
    83
    Найди и замени функцию в файле includes/database/mysql.php
    вот этим

    function db_connect($host,$user,$pass) //create connection
    {
    $r = mysql_pconnect($host,$user,$pass);
    if(preg_match('/^5\./',mysql_get_server_info($r)))
    db_query('SET SESSION sql_mode=0');
    mysql_query("SET NAMES cp1251") or die("Invalid query: "
    .mysql_error());
    return $r;
    }

    И перезолей базу с кодировкой cp1251
     
    andrnag нравится это.
  7. alexandr3182

    alexandr3182

    Регистр.:
    5 фев 2008
    Сообщения:
    226
    Симпатии:
    12
    точнее сказать не с кодировкой а сопоставление что б было при залитии базы с cp1251.
     
  8. NafanjaUa

    NafanjaUa

    Регистр.:
    12 мар 2007
    Сообщения:
    243
    Симпатии:
    42
    Зделал ещё злей вариант. Переконвертил всё в UTF-8
     
Статус темы:
Закрыта.