|
|
|
Error: Illegal mix of collations
|
|||
|---|---|---|---|
|
#18+
Всем привет! Заапгрейдил mysql c 4.0.22 на 4.1.7 в перловых скриптах начались вот такие ошибки: DBD::mysql::st execute failed: Illegal mix of collations (cp1251_general_ci,IMPL ICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' at /bla-bla-bla/script.pl line NNNN вот my.cnf: ================== [client] ... character-sets-dir = /usr/share/mysql/charsets default-character-set = cp1251 [mysqld] ... character-sets-dir = /usr/share/mysql/charsets default-character-set = cp1251 [mysql] ... character-sets-dir = /usr/share/mysql/charsets default-character-set = cp1251 ==================== вроде во всех секциях поставил dafault charset cp1251, а когда смотрю SHOW VARIABLES то вижу вот такую кашу: character_set_client = latin1 character_set_connection = latin1 character_set_database = cp1251 character_set_results = latin1 character_set_server = cp1251 character_set_system = utf8 character_sets_dir = /usr/share/mysql/charsets collation_connection = latin1_swedish_ci collation_database = cp1251_general_ci collation_server = cp1251_general_ci причем если работаю с базой через /usr/bin/mysql то все нормално работает. а если через клиента (perl DBI DBD) то вылетает сабж если в select-е есть where где сравниваются char-ы или varchar-ы. Почему для клиента не выставляется DEFAULT CHARSET (character_set_client = latin1 ) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 12:22 |
|
||
|
Error: Illegal mix of collations
|
|||
|---|---|---|---|
|
#18+
Прочитайте пожалуйста документацию http://dev.mysql.com/doc/mysql/en/Charset.html%5D%D0%B7%D0%B4%D0%B5%D1%81%D1%8C%5B/url] и особенно здесь . В качестве быстрой заплатки для ваших проложений, после установления соединения с сервером, пошлите первой команду set names koi8r (Я предполагаю что вы под юниксами (по вашим конфигам), если нет, то вместо koi8r - ту кодировку, котоая на вашей _клиентской_ машине) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 12:48 |
|
||
|
Error: Illegal mix of collations
|
|||
|---|---|---|---|
|
#18+
Прочитайте пожалуйста документацию здесь и особенно здесь . В качестве быстрой заплатки для ваших проложений, после установления соединения с сервером, пошлите первой команду set names koi8r (Я предполагаю что вы под юниксами (по вашим конфигам), если нет, то вместо koi8r - ту кодировку, котоая на вашей _клиентской_ машине) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 12:49 |
|
||
|
Error: Illegal mix of collations
|
|||
|---|---|---|---|
|
#18+
> В качестве быстрой заплатки для ваших проложений, после установления соединения с сервером, пошлите первой команду > set names koi8r Вот это помогло спасибо. но как-то не красиво. > (Я предполагаю что вы под юниксами (по вашим конфигам), если нет, то вместо koi8r - ту кодировку, котоая на вашей _клиентской_ машине)[/quot] У меня Linux RH 7.3, mysql стоял из пакетов и апгрейдил я из пакетов. А раздел связанный с чарсетами вроде хорошо пересмотрел 2-3 раза (конечно насколько позволил мой англицкий). Я и базы в 4.0 задампил, потом накатил 4.1 и залил базы из дапмпа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 13:31 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32777334&tid=1854627]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 475ms |

| 0 / 0 |
