mysql кодировка

Discussion in 'PHP' started by barnaki, 10 Mar 2010.

  1. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    таблица создана в базе данных с CHARACTER SET utf8
    делаю set names utf 8,
    show create table показывает что у таблицы кодировка utf8 .
    кодировка html страницы с которой ввдятся данные тоже utf8 .
    и все = одни ????? и прочие какие то непонятные символы.
    как с этим можно бороться ?
     
    #1 barnaki, 10 Mar 2010
    Last edited: 10 Mar 2010
  2. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    для начала указать кодировку соединения с базой - перед запросом к базе
     
  3. dr.Web

    dr.Web Member

    Joined:
    2 Feb 2009
    Messages:
    7
    Likes Received:
    22
    Reputations:
    10
    кодировка страницы точно прописана??
    сохранена она в этой же кодировке?
     
  4. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    2 pos_troi . а как это делаеться
     
  5. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Попробуй сделать сразу после подключения и выбора БД
    PHP:
    mysql_set_charset('utf8');
     
  6. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    2 d_x непомогает
     
  7. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    после выбора базы данных:

    mysql_query('SET character_set_client=utf8'); //Уствнока кодировки клиента
    mysql_query('SET character_set_results=utf8'); //Уствнока кодировки запросов
    mysql_query('SET character_set_connection=utf8'); //Уствнока кодировки соединения
    mysql_query('SET character_set_server=utf8'); //Уствнока кодировки сервера

    плюс rtfm:

    http://www.sql.ru/Forum/actualthread.aspx?tid=175178&hl=execute
     
  8. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    2 Pashkela и все = . только теперь не абракадабра а вопросительные знаки
     
  9. dr.Web

    dr.Web Member

    Joined:
    2 Feb 2009
    Messages:
    7
    Likes Received:
    22
    Reputations:
    10
    мой пост видел?
     
  10. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Надо писать правильно:
    mysql_query('SET NAMES UTF8');

    И посмотри в какой кодировке страница на которой отображается все
     
  11. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    Ну совсем уж брутальный вариант:
    PHP:
    <?php
    header
    ('Content-Type: text/html; charset=utf-8'TRUE);

    mysql_connect($dblocation,$dbuser,$dbpasswd); 
    mysql_select_db($dbname);

    mysql_query("SET NAMES 'utf8'");
    // mysql_query("SET CHARACTER SET 'utf8'");
    ?>
    Тут вывод и всякие операции...
    ну и конечно нужно сохранить файл в UTF-8 без BOM
     
    #11 LStr1ke, 13 Mar 2010
    Last edited: 13 Mar 2010