Титла: Кирилица в mysql 3.23.59 Публикувано от: sunhater в Apr 10, 2006, 17:55 Проблема ми е, че когато има кирилица в базата, при SELECT заявка с ORDER BY не ми подрежда редовете по азбучен ред... Има ли лек (без ъпдейт на MySQL)?
MySQL 3.23.59 FreeBSD 4.8 Титла: Кирилица в mysql 3.23.59 Публикувано от: rat в Apr 10, 2006, 20:20 До колкото си спомням има лек .
Трябва да сложиш в my.cnf нщо от сорта на server-encoding=windows-1251 Провери в документацията за точния синтаксис. Титла: Кирилица в mysql 3.23.59 Публикувано от: в Apr 10, 2006, 20:45 аз ползвам mysql-3.23.49-3 и имах същия проблем.
това е моят конфиг cat my.cnf
Обаче има една Излючителна важна подробност!!! Ако имаш Index (от преди да добавиш default-character-set=cp1251) към някое поле на кирилица, ще продължава да връща неправилно сортиране. или само на пръв поглед ще изглежда, че е правилно. например може да работи правилно с първите 'абв', обаче някъде към 'ч' ще се обърка. Ако забележиш такова поведение трябва да дропнеш индеха и да го създадеш отново. Титла: Кирилица в mysql 3.23.59 Публикувано от: sunhater в Apr 12, 2006, 11:46 Лошото е, че нямам root права и ще трябва да моля админа да редактира конфиг файла. Иначе базата няма индекси. Благодаря за отговорите.
Титла: Кирилица в mysql 3.23.59 Публикувано от: rat в Apr 13, 2006, 10:36 Сле дкато си стигнал до админа по-добре да го помолиш да мине на mysql-4.1.x
Лошото е че като си промениш конфига така няма да ти работо коректно сортирането на Latin1 ![]() В новите версии на mysql проблема е решен доста добре. МОжеш да указваш colation на всяка база/колона от таблицата/таблица. Титла: Кирилица в mysql 3.23.59 Публикувано от: nov_chovek в Apr 17, 2006, 17:01 Ако щете вярвайте, но отворих форума преди малко ,за да попитам за точно същия въпрос, за който е съдадена тази тема, мерси при мен стана
![]() Титла: Кирилица в mysql 3.23.59 Публикувано от: VladSun в Apr 17, 2006, 22:37 Аз този проблем го реших временно чрез:
Титла: Кирилица в mysql 3.23.59 Публикувано от: Naka в Apr 21, 2006, 11:51 Относно съществуващ Index към кирилско поле от преди да се зададе кодова таблица. Намерих си документацията и past-вам тук. На някой може да му е от полза за в бъдеще.
Mysql дава два начина за поправяне на индех. 1-вия е от външна команда myisamchk -r -q --set-character-set=cp1251 word_index но е недостатък че ще промени всички индехи и БАЗАТА трябва ДА Е СПРЯНА. не го ползвайте. 2.-рия е чрез конзолата на Mysql: DROP INDEX - CREATE INDEX и е напълно безопасен. например: таблицата се казва : word_index полето се казва: word и индеха се казва: word
|