Запись в MySQL (кирилица)

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

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

    NewS

    Регистр.:
    15 авг 2008
    Сообщения:
    255
    Симпатии:
    84
    Подскажите, как записывать в БД кирилицу?
    Запись происходит вот так: выаавыывР
    английские буквы записываются хорошо, проблема с русскими.
    Сайт весь на <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
    База cp1251_general_ci
    Сайт отображается на русском, но с записью в БД русских слов проблема.
    В чем может быть проблема?
     
  2. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Тут почитай пока.
     
  3. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
  4. NewS

    NewS

    Регистр.:
    15 авг 2008
    Сообщения:
    255
    Симпатии:
    84
    Посмотрел, вот такие настройки стоят:
    Код:
    character_set_client		utf8
    character_set_connection	utf8
    character_set_database		cp1251
    character_set_filesystem	binary
    character_set_results		utf8
    character_set_server		cp1251
    character_set_system		utf8
    База и каждое поле в ней cp1251

    Пробовал:
    PHP:
    @mysql_connect(C_HOSTC_USERC_PASS
    or die(
    "error"); 

    @
    mysql_select_db(C_BASE)
    or die(
    "error");

    mysql_query("SET NAMES 'cp1251'");
    mysql_query("set character_set_client='cp1251'");
    mysql_query("set collation_connection='cp1251_general_ci'");
    mysql_query("set character_set_results='cp1251'");
    Не помогает ...
    У меня стоит Денвер-3 и там нет файлов my.cnf и my.ini
    Уже голова кругом от перечитанного, не знаю что еще сделать ...
     
  5. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
  6. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    выаавыывРэто выаавыыв в utf-8 кодировке может какая функция перед сохранением в базу конвертирует текст в utf-8 типа iconv(...) или htaccess с кодировкой (AddDefaultCharset utf-8) или где в коде кодировка
    header('Content-Type: text/plain; charset=utf-8');
    Да и у базы и у таблицы и у всех текстовых полей нужно поставить cp1251_general_c иначе mysql будет конвертировать сам.

     
  7. Graph33

    Graph33 Создатель

    Регистр.:
    4 авг 2010
    Сообщения:
    34
    Симпатии:
    0
    файл со скриптом у тебя случайно не в utf-8?
     
  8. NewS

    NewS

    Регистр.:
    15 авг 2008
    Сообщения:
    255
    Симпатии:
    84
    Весь код просканировал на наличие utf-8, нигде не встречается.
    Все файлы в кодировке ANSI.
    Файл htaccess - отсутствует.
     
  9. NewS

    NewS

    Регистр.:
    15 авг 2008
    Сообщения:
    255
    Симпатии:
    84
    Еще вопросик, нашел файл my.cnf и прописал в него следующее:
    Код:
    [mysqld]
    default-character-set=cp1251
    character-set-server=cp1251
    collation-server=cp1251_general_ci
    init-connect="SET NAMES cp1251"
    skip-character-set-client-handshake
    [mysqldump]
    default-character-set=cp1251
    А запрос SHOW VARIABLES LIKE 'character%' выдает следующее:
    Код:
    character_set_client	utf8
    character_set_connection	utf8
    character_set_database	cp1251
    character_set_filesystem	binary
    character_set_results	utf8
    character_set_server	cp1251
    character_set_system	utf8
    Как такое возможно???
     
  10. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    если демона маськи не перегрузил, и такое возможно
     
Статус темы:
Закрыта.