|
Тема
|
Kak stava ORDER BY 'neshto' s kirilica ?
|
|
Автор | nesortiran (Нерегистриран) |
Публикувано | 03.11.02 23:13 |
|
Zdravejte
imam sledniq problem:
Imam tablica (polzvam MySQL 3.23.49) v koiato ima textovo pole (grad) sus vudeni stojnosti na kirilica (primerno София, Пловдив, Перник, Ахтопол, Созопол, Варна) i pri zaqvka SELECT * FROM `tablicata` ORDER BY `grad` poluchavam slednoto podrejdane:
Варна
Ахтопол
Пловдив
Перник
Созопол
София
e glavata si reja, ama tova ne e koeto ochakvam - niakuv azbuchen red nqma.
S textovi poleta na latinica vsichko e ok.
Mnogo bih bil blagodaren, ako nqkoj mi kaje kakvo propuskam i zashto stava taka... vse pak bi trqbvalo da moje da se sortirat i danni na kirilica, nali ?
Ochakvam pomosht.... ako ne - shte vzema da namerq nqkoj bukvar da pregledam azbukata, dali puk az ne burkam neshto :)
| |
Тема
|
Re: Kak stava ORDER BY 'neshto' s kirilica ?
[re: nesortiran]
|
|
Автор |
gonzales () |
Публикувано | 04.11.02 13:40 |
|
това, което получаваш е съвсем вярно, като се има предвид, че сортирането е по кодова таблица ISO-8859-1. Ако пуснеш сървъра с --default-charackter-set=cp-1251 ще получиш резултат, различен от този, и то такъв какъвто очакваш. Най-добре прочети в документацията, там е описано най-добре.
| |
Тема
|
Re: Kak stava ORDER BY 'neshto' s kirilica ?
[re: nesortiran]
|
|
Автор |
NDeu (минаващ) |
Публикувано | 04.11.02 15:25 |
|
Не си посочил за какъв RDBMS става въпрос, но потърси в help-а нещо за collate
| |
Тема
|
Re: Kak stava ORDER BY 'neshto' s kirilica ?
[re: gonzales]
|
|
Автор | nesortiran (Нерегистриран) |
Публикувано | 04.11.02 18:23 |
|
pak ostava edin maluk problem - za sega nqmam prava da promenqm nishto na servera - ima li nqkakuv nachin v samiq PHP script dinamichno da se zadade drug character set ? Dokolkoto razbrah mysql_client_encoding samo vrushta tekushtiq ?
| |
Тема
|
Re: Kak stava ORDER BY 'neshto' s kirilica ?
[re: nesortiran]
|
|
Автор | lele (Нерегистриран) |
Публикувано | 04.11.02 20:17 |
|
Здравей. И аз го имах същия проблем, който в MySQL се решава с: 'SELECT * FROM table ORDER BY BINARY grad;'. Ако не си с MySQL преполагам че пак ще е подобно.
| |
Тема
|
thx ! :)
[re: lele]
|
|
Автор | veche_sortiran (Нерегистриран) |
Публикувано | 04.11.02 21:47 |
|
da, stava s BINARY - mersi mnogo, veche se biah iurnal da smenqm char-set-a, no taka e mnogo po-elementarno, blagodaria ! :)
| |
Тема
|
Re: Kak stava ORDER BY 'neshto' s kirilica ?
[re: NDeu]
|
|
Автор |
salle (Един такъв) |
Публикувано | 05.11.02 10:26 |
|
Collate в MySQL има въвр версия 4.1
(както и поддръжка на различни кодови таблици за БД, Таблица, колонка....)
| |
Тема
|
Re: Kak stava ORDER BY 'neshto' s kirilica ?
[re: lele]
|
|
Автор |
salle (Един такъв) |
Публикувано | 05.11.02 11:39 |
|
Ех да му се не види....
BINARY означава стринга да се третира като Байтове а не като Кирилица. По една случайност cp1251 която ние използваме в България е подредена по възходящ ред.
Първият ефект е, че при BINARY има разлика между главни и малки букви (по подразбиране всичко във SQL не прави разлика) вторият е, че забравяш за всички функции и оператори за сравнение.
"Гошо", и "ГоШо" очевидно стават различни а това не винаги е което трябва да се получи.
Много по-добре е да се направи "както трябва" т.е. със character_set=cp1251
| |
Тема
|
Re: Kak stava ORDER BY 'neshto' s kirilica ?
[re: salle]
|
|
Автор |
lele (Pif4e) |
Публикувано | 05.11.02 13:54 |
|
хм, никой не е казвал че BINARY третира стринга като кирилица. Но nesortiran каза че не може да пипа по настройките на базата, а бинарито явно му върши работа. Не всеки си държи стринговете във вида SoMe, въпреки че съм напълно съгласен че нещата трябва да се правят "както трябва" особено в компютрите. Хубава "случайност" е че ср1251 е така подредена. Все пак целта на форума е да се обсъждат разни неща
![](http://i.dirbg.com/clubs/icons/smile.gif)
| |
Тема
|
Re: Unicode му е майката ...
[re: salle]
|
|
Автор | Unicode (Нерегистриран) |
Публикувано | 13.11.02 00:11 |
|
Между другото, кога ще сложат поддръжка на UTF-8 в MySQL?
| |
|
|
|
|