Страница 1 из 1

кодировка mysql

СообщениеДобавлено: Пт ноя 19, 2004 3:06 pm
Vinny
Пол дня тра...сь с муськой...

На любой запрос отвечает:

Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='

Конфиг /etc/my.cnf:
[mysqld]
default-character-set=cp1251
skip-innodb

Сервер перестартовывал, не помогает... Нашел в инете кучу вопросов по этой проблеме, но внятного ответа не нашел... Может кто решиля для себя эту проблему?

СообщениеДобавлено: Пт ноя 19, 2004 3:12 pm
vasya
перед тем как insert делать.
попробуйте выполнить
mysql_query("SET NAMES 'cp1251'")

это по идее должно выставить для текущего соединения кодировку.
вообще лучше делать сразу после коннекта к базе.

текущие для соединения переменные
можно распечатать 'SHOW VARIABLES';

а вообще надо вдумчиво почитать документацию на эту тему на mysql.com, там даже migration giude есть на тему переезда с 4.0 на 4.1

СообщениеДобавлено: Пт ноя 19, 2004 3:15 pm
Vinny
Самое смешное что это запрос:

select count(*) from news_news where Url='test'

в пустой базе данных...

ладно, буду дальше копать...

СообщениеДобавлено: Пт ноя 19, 2004 3:58 pm
Lisa
Напишите, если что-то получится.

У меня сейчас убрано

[mysqld]
default-character-set=cp1251

Все работает, но нет возможности смотреть базы через phpmyadmin

СообщениеДобавлено: Пт ноя 19, 2004 4:21 pm
Vinny
Пришлось побеждать не очень красиво... В инлудники с базой вставил:

mysql_query('SET NAMES \'cp1251\'');

работает...

СообщениеДобавлено: Пт ноя 19, 2004 4:23 pm
Vinny
Кстати, пока разбирался с муськой, каким-то макаром прибил управление муськой в менеджере :) Теперь он мне пишет "Ошибка: Внутренняя ошибка Can't connect to mysql"... Пароль админский на муську поменял и в муське и в файле конфига менеджера... Позже разбирусь, пока приходится базы ручками создавать...

СообщениеДобавлено: Пн ноя 22, 2004 8:00 am
vasya
Если делаете какие-то изменения в конфиге менеджера, то его надо бы перезапустить. Самый простой вариант убить

# killall ispmgr

а поднимется он автоматом.

Re: кодировка mysql

СообщениеДобавлено: Сб янв 22, 2005 9:35 am
elkie
Vinny писал(а):Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='


"Немного" запоздало, но мы только сейчас перебираемся на MySQL 4.1. ;)
В конфиг нужно написать не только default-character-set, то еще и:

character-set-server = koi8r
collation-server = koi8r_general_ci
default-character-set = koi8r
default-collation = koi8r_general_ci

ну или cp1251 вместо koi8r. Там же в сообщении именно про collations написано.

Ну и в секцию [mysql] (т.е. для клиента) вставить
default-character-set = koi8r
тоже не помешает.

СообщениеДобавлено: Вс май 08, 2005 12:54 am
Voyager2K
Раньше ставил cp1251 прямо phpmyadmin , а теперь вот залез туды.. пытаюсь этот swedish сменить... А выбирать-то особо не из чего группа latin и utf8 только дсотупна ;( Куда все кодировки подевались и что теперь для нормального хранениярусского нужно ставить?

СообщениеДобавлено: Ср май 11, 2005 1:35 am
Voyager2K
Аллоу ? Что никто не знает ответа на мой вопрос ? Тоды, плиз, хоть подскажите какой из utf8_ использовать дабы это было аналогие cp1251 ?