За последние 24 часа нас посетили 19192 программиста и 1611 роботов. Сейчас ищут 1120 программистов ...

Знаки ? при выводе из БД. Кодировки проверял...

Тема в разделе "MySQL", создана пользователем StormMan, 15 мар 2010.

  1. StormMan

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

    С нами с:
    15 мар 2010
    Сообщения:
    3
    Симпатии:
    0
    Друзья, нужна ваша помощь. Хостер помочь оказался не в силах. Поиск по сайту тоже.
    Имеется: БД в кодировке UTF-8, и примитивный скрипт. На другом хостинге из базы скрипт выводил всё отлично, но стоило перенести сайт с базой на выделенный сервер, как всё накрылось. В общем, я попытался смоделировать эту ситуацию с ещё одним случаем, по которому и хочу вас спросить.
    Вывожу скриптом поля из таблицы, созданной двигом WordPress, в кодировке UTF-8. php-скрипт тоже в этой самой кодировке.
    Однако из БД выводятся одни знаки вопроса, при том что сам документ открывается в UTF-8 и все русские слова, написанные в html выводятся правильно. Пример тут: пример глючного вывода В общем, и весь этот сайт выводится вопросами. Хостер сказал, что проблема в скриптах. Но как такое может быть, если на другом хостинге всё было отлично с теми же самыми скриптами?
    Пожалуйста, помогите, бьюсь над этим вопросом уже очень долго...
     
  2. Padaboo

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

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    http://www.php.ru/forum/viewtopic.php?t=10103
    PHP:
    1. <?php
    2.  
    3. $dbhost = "localhost";
    4. $dbname = "baza";
    5. $dbuser = "root";
    6. $dbpass = "";
    7.  
    8.  
    9. $link = mysql_connect($dbhost,$dbuser,$dbpass) or die(mysql_error());
    10. mysql_query ("SET CHARACTER SET 'cp1251'", $link);
    11. mysql_query ("set character_set_client='cp1251'");
    12. mysql_query ("set character_set_results='cp1251'");
    13. mysql_query ("set collation_connection='cp1251_general_ci'");
    14. mysql_query ("SET NAMES cp1251");
    15. mysql_select_db($dbname,$link) or die("Could not find db");
    переделайте под utf8 и попробуйте