|
|
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
делаю (образно): select * from tbl1 order by runame Вопрос, в какой unicode кодировке нужно выставить таблицу, чтобы русские названия сортировались правильно? utf8_bin самое похожее, но сначала выводит сортированные слова по заглавным русским буквам, а потом по мелким. А хотелось бы, чтобы сортировка была не АБВГД...ЭЮЯабвг...эюя , а АаБбВвГг....ЭэЮюЯя . utf8_general_ci выводит вообще не пойми что, причём и слова с латинских букв попадаются среди русских. utf8-swedish_ci тоже выводит криво. Что я делаю не так и как нужно правильно делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 03:39:26 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
....то ли уже поздно, то ли что, но при более детальном изучении вопроса кодировки utf8_general_ci выяснил, что русские буквы сортируются как АаБбВв, но в них ещё примешиваются латинские буквы, например, латинские ST сортируются после русской Т. Вопросы остаются такие: Где вообще про эти сортировки можно почитать подробнее? И как сделать сортировку 0123...89AaBbCcDd...XxYyZzАаБбВвГг....ЭэЮюЯя средствами MySQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 03:46:24 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
SELECT ..., LCASE(runame) AS sortorder FROM tbl1 ORDER BY sortorder ? Однако, к сожалению, есть сомнения, что подобный запрос может использовать индексы и будет сколько-нибудь производителен. В общем, я не гарантирую, что это единственный и оптимальный способ) В любом случае, я бы советовал вам почитать раздел "MySQL Localization and International Usage" документации, соответствующей используемой вами версии СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 04:22:20 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
попробуй utf8_unicode_ci ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 08:14:41 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
в случае utf8_unicode_ci сортировка получается такой (из тех слов, что у меня есть в базе): ЧлСтТШst, что явно не соответствует вообще ничему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2006, 01:57:03 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
оч. странно. Вот смотрите: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2006, 13:28:24 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что вы делаете просто ALTER TABLE без конвертирования строк. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2006, 13:47:48 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
Дропал таблицу и создавал заново и вносил строки - эффект тот же (это при utf8_general_ci) - латинские буквы st среди русских, другие пока не проверял. 2Хрен: у тебя "ENGINE=InnoDB DEFAULT CHARSET=latin1", а вовсе не UTF8, не знаю правда как сказываются настройки для всей таблицы на строки в этой таблице. PS У меня FreeBSD-6.0 STABLE и MySQL 4.1.16 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2006, 15:28:41 |
|
||
|
сортировка русских букв в utf8 средствами MySQL
|
|||
|---|---|---|---|
|
#18+
Вы что, гражданин? Описание поля посмотрите Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2006, 21:42:21 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33470269&tid=1853207]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
233ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 556ms |

| 0 / 0 |
