Автор Тема: Сортировка рускоязычных данных  (Прочитано 4992 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Артур

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://art.bdk.com.ru
Сортировка рускоязычных данных
« : 01 Ноября 2001, 04:55:39 »
Я столкнулся с проблемой сортировки в MySQL.

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

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

Может приходилось сталкиваться с подобной проблемой?
Не хотелось бы переводить все данные на английский шрифт, слишком это
корявое решение проблемы.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Сортировка рускоязычных данных
« Ответ #1 : 01 Ноября 2001, 13:22:33 »
Несоотвествие кодировок, скорее всего таблица в win1251, а у mysql-сервера кодировка koi-8r. Надо выяснить у хостера кодировка, и преобразовывать ее все время перед выборкой и добавлением/изменением.
Евгений aka Razor,

Оффлайн Артур

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://art.bdk.com.ru
Сортировка рускоязычных данных
« Ответ #2 : 02 Ноября 2001, 01:41:10 »
Спасибо, я предполагал нечто подобное, как говорится, "ларчик просто открывался":-)

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Сортировка рускоязычных данных
« Ответ #3 : 02 Ноября 2001, 01:54:12 »
еще может быть кодировка latin1, но наверняка хостеры ее не ставят :). если на локальном mysql использовать, то надо в my.cnf поменять кодировку
Евгений aka Razor,

Оффлайн Ilya

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 108
  • +0/-0
  • 0
    • Просмотр профиля
    • www.svd.ru
Сортировка рускоязычных данных
« Ответ #4 : 03 Ноября 2001, 14:00:35 »
А у тебя в свойствах поля стоит BINARY? Если нет, то поставь.

  • Гость
Сортировка рускоязычных данных
« Ответ #5 : 09 Ноября 2001, 02:39:07 »
В любом случае можно отсортировать оп первой букве, а если использовать SUBSTRING(), можно и по 2, 3 и т.д. Конечно, это в случае, если не нет возможности изменить кодировку.

ORDER BY ASCII(field)

Оффлайн bhor

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 767
  • +0/-0
  • 0
    • Просмотр профиля
Сортировка рускоязычных данных
« Ответ #6 : 09 Ноября 2001, 12:06:56 »
Цитировать
кодировка latin1, если на локальном mysql использовать, то надо в my.cnf поменять кодировку

А что там нужно писать.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Сортировка рускоязычных данных
« Ответ #7 : 09 Ноября 2001, 12:34:24 »
default-character-set=win1251
Евгений aka Razor,

Оффлайн bhor

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 767
  • +0/-0
  • 0
    • Просмотр профиля
Сортировка рускоязычных данных
« Ответ #8 : 09 Ноября 2001, 13:01:06 »
А и в правду.
Незаметил в конфиге. Он оказывается там уже был только латин
Спасибо.

 

Sitemap 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