MySQL и кодировка

Тема в разделе "Администрирование серверов", создана пользователем Forward, 8 апр 2008.

Статус темы:
Закрыта.
Модераторы: mefish, stooper
  1. Forward

    Forward Создатель

    Регистр.:
    4 дек 2007
    Сообщения:
    23
    Симпатии:
    3
    На новом сервере, на одном движке при добавлении текстовой информации вместо текста записываются вопросы. Есть некоторые глюки в вордпресе. Очень криво работают скрипты для передирания новостей с других сайтов.. А главное боюсь что когда на другой сервак перееду потом ещё не то с кодировками будет..

    В конфиге мускула есть и utf8 и cp1251_general_ci
    В "MySQL System Variables" utf8_general_ci и utf8

    Как решить проблему? Все кодировки заменить на одну cp1251_general_ci или как?
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    mysql_query("set character set cp1251");

    вставь эту строку после строк коннекта к базе..не самое лучшее решение, но если парится не хочешь то юзай его.
     
    mefish нравится это.
  3. Forward

    Forward Создатель

    Регистр.:
    4 дек 2007
    Сообщения:
    23
    Симпатии:
    3
    Да вот это не очень хороший выход..
    Хочу узнать как все настройки мускула в порядок привести.
     
  4. Tele2

    Tele2

    Регистр.:
    14 апр 2006
    Сообщения:
    784
    Симпатии:
    94
    Отлично помогает.
    default-character-set = cp1251
    init-connect = "set names cp1251"
    skip-character-set-client-handshake
     
  5. bueno

    bueno Читатель

    Заблокирован
    Регистр.:
    7 май 2007
    Сообщения:
    236
    Симпатии:
    69
    в my.cnf про(до)писываешь

    [client]
    default-character-set = cp1251

    [mysqld]
    default-character-set = cp1251
    init-connect = "set names cp1251"
    skip-character-set-client-handshake

    зы.. упс.. пока писал Tele2 уже ответил..
     
    AdeQuAte нравится это.
  6. Forward

    Forward Создатель

    Регистр.:
    4 дек 2007
    Сообщения:
    23
    Симпатии:
    3
    У меня сейчас все БД в utf8 :( Что делать вэтом случае?
     
  7. bueno

    bueno Читатель

    Заблокирован
    Регистр.:
    7 май 2007
    Сообщения:
    236
    Симпатии:
    69
    наверное так:
    alter database `myBD` character set cp1251 ;

    или еще можно так:
    alter database `myBD` character set cp1251 collate cp1251_general_ci;
     
    AdeQuAte нравится это.
  8. Forward

    Forward Создатель

    Регистр.:
    4 дек 2007
    Сообщения:
    23
    Симпатии:
    3
    Это в my.cnf прописать или как?
     
  9. hidden03

    hidden03 Постоялец

    Регистр.:
    22 мар 2007
    Сообщения:
    70
    Симпатии:
    29
    выполнить mysql запрос в том же phpmyadmin,например
     
    AdeQuAte нравится это.
  10. artish911

    artish911 Писатель

    Регистр.:
    9 июн 2008
    Сообщения:
    5
    Симпатии:
    0
    Также, возможно, будет полезно в строчке коннекта к БД явно указать кодировку. Для JDBC будет примерно так:

    jdbc:mysql://host:3306/database?characterEncoding=utf8
     
Статус темы:
Закрыта.