Forum Webscript.Ru

Общие => Базы данных => Тема начата: Артур от 01 Ноября 2001, 04:55:39

Название: Сортировка рускоязычных данных
Отправлено: Артур от 01 Ноября 2001, 04:55:39
Я столкнулся с проблемой сортировки в MySQL.

Проблема в том, что при стандартном запросе с сортировкой
SELECT * FROM tablename ORDER BY sort_field ASC
если данные на русском языке, то результат получается неадекватный, вот
пример отсортированных данных:

А
Б
В
Г
Аа
Ва
Ар
Вр

Может приходилось сталкиваться с подобной проблемой?
Не хотелось бы переводить все данные на английский шрифт, слишком это
корявое решение проблемы.
Название: Сортировка рускоязычных данных
Отправлено: Britva от 01 Ноября 2001, 13:22:33
Несоотвествие кодировок, скорее всего таблица в win1251, а у mysql-сервера кодировка koi-8r. Надо выяснить у хостера кодировка, и преобразовывать ее все время перед выборкой и добавлением/изменением.
Название: Сортировка рускоязычных данных
Отправлено: Артур от 02 Ноября 2001, 01:41:10
Спасибо, я предполагал нечто подобное, как говорится, "ларчик просто открывался":-)
Название: Сортировка рускоязычных данных
Отправлено: Britva от 02 Ноября 2001, 01:54:12
еще может быть кодировка latin1, но наверняка хостеры ее не ставят :). если на локальном mysql использовать, то надо в my.cnf поменять кодировку
Название: Сортировка рускоязычных данных
Отправлено: Ilya от 03 Ноября 2001, 14:00:35
А у тебя в свойствах поля стоит BINARY? Если нет, то поставь.
Название: Сортировка рускоязычных данных
Отправлено: от 09 Ноября 2001, 02:39:07
В любом случае можно отсортировать оп первой букве, а если использовать SUBSTRING(), можно и по 2, 3 и т.д. Конечно, это в случае, если не нет возможности изменить кодировку.

ORDER BY ASCII(field)
Название: Сортировка рускоязычных данных
Отправлено: bhor от 09 Ноября 2001, 12:06:56
Цитировать
кодировка latin1, если на локальном mysql использовать, то надо в my.cnf поменять кодировку

А что там нужно писать.
Название: Сортировка рускоязычных данных
Отправлено: Britva от 09 Ноября 2001, 12:34:24
default-character-set=win1251
Название: Сортировка рускоязычных данных
Отправлено: bhor от 09 Ноября 2001, 13:01:06
А и в правду.
Незаметил в конфиге. Он оказывается там уже был только латин
Спасибо.