|
Спасибо, не стояло.
Но на этом проблемы не кончились. Во-первых, почему-то не удаётся поставить по умолчанию на уровне сервера: при добавлении в my.ini строки default-character-set=cp1251, при обращении к базе после перезапуска сервиса, пишет:File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 22)
Character set '#14' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\Index' file. Фйлов .conf действительно нет, но есть .xml, и в Index.xml файле указан cp1251.
Но это пол беды. Допустим, я и не хочу менять это на уровне сервера, ведь я не смогу перелопатить все базы данных одномоментно. Я выяснил в документации, что можно устанавливать кодировку на уровне соединения, коммандой SET CHARACTER SET cp1251 или SET NAMES cp1251. Помогает! Стал видеть русские буквы из таблицы с кодировкой ср1251, и сортирует нормально, но (!) теперь перестал принимать любые строки в коммандах SQL. Например: SELECT Name from Member where Name like 'z%' - отвечает: ERROR 1210: Wrong arguments to like. При этом, помогает, если указать уодировку явно: SELECT Name from Member where Name like _ср1251'z%' Но, что же мне теперь, перепахивать весь код, приставлять ко всем строкам префикс _ср1251? В документации сказано, что он должен понимать кодировку строк как установленную для соединения, если она устаноылена. В чём же дело, почему он не принимает?
|