Перейти к содержанию
Форумы

Проблема с сортировко в базе данных


Рекомендуемые сообщения

Я установил PHP скрипт с использованием базы данных. Заношу категории. В результате должны выводить категории по алфавиту, но сортировка не происходит.

 

Думал проблемы в самом скрипте и покапался на форуме по даному скрипту.

 

И вот какой ответ я нашёл на форуме. Цитирую вопрос и ответ с форума.

 

--------

 

Никто никогда не сталкивался с проблемой сортировки категорий? Хочется, чтобы они выводились в алфавитном порядке, а выводятся абы как, хотя в коде прописано - сортировка по имени - order by kat_name_pod. Не понимаю, что происходит!!!

 

Ответ администратора-программиста

 

Все очень просто.

Советую всем, прежде чем выбирать хостинг, узнайте какая кодировка стоит на mysql.

Сейчас очень много хостингов, у которых кодировка mysql установлена в latin1.

С этой кодировкой происходит не правильная сортировка русских символов и поиск по базе проходит не правильно.

 

Почему на русских хостингах стоит не русская кодировка?

1. Админы вашего хостинга не знают, что у базы бывает кодировка и просто ставят на сервер базу, а по умолчанию кодировка выставляется в latin1. В этом случае советую найти хостинг с более грамотными админами.

2. Админы вашего хостинга перекупщики. Покупают хостинг оптом и распродают в розницу. В большинстве случаев сервера стоят за границей и база там естественно установлена в latin1. Админы бы рады были установить русскую кодировку, но доступа к настройкам сервера у них нет.

3. Админы хостинга считают себя умнее вас и утвержают, что с русской кодировкой база и весь сервер будут глючить по страшному.

 

 

Вот три самых распространеных причины не русской кодировки на русском хостинге.

 

Если вы не можете сменить хостинг, тогда задайте админам вопрос "какая кодировка установлена в mysql и как перекодировать данные для правильной сортировки".

Если вы получите ответ, что кодировку вы можете установить в phpmyadmin при входе, то вам уже сложно будет помочь, тогда ищите советы в интернете. Кстати такой ответ я слышал на 80% хостингах.

Другие 20% хостингов вам могут дать совет, какую команду нужно подать в базу, чтобы все последующие запросы работали с кодировкой latin1 как с русской cp1251, либо как создать таблицы с русской кодировкой.

К сожалению, у большинства хостингов стоят устаревшие версии mysql, не умеющие работать с несколькими кодировками.

 

--------

 

Хотелось бы услушать комментарии техподдержки хостинга Advanta.org

Ссылка на комментарий
Поделиться на другие сайты

Хочется, чтобы они выводились в алфавитном порядке, а выводятся абы как, хотя в коде прописано - сортировка по имени - order by kat_name_pod

 

может стоит написать order by kat_name_pod asc?

 

и напишите полный запрос.

Ссылка на комментарий
Поделиться на другие сайты

3. Админы хостинга считают себя умнее вас и утвержают, что с русской кодировкой база и весь сервер будут глючить по страшному.

После Вашего сообщения изменил кодировку на cp1251.

Сейчас поступила жалоба, что не создаются базы данных. Как оказалось, причина - изменение кодировки...

Посему вернул все обратно на свои места - и базы стали создаваться.

Ссылка на комментарий
Поделиться на другие сайты

ага есть проблема в сотртировке

однако я не понимаю почему нельзя каждому пользователю при создании базы указывать самом кодировку в БД !?

ведь это можно сделать в phpmyadmin

Ссылка на комментарий
Поделиться на другие сайты

  • 10 месяцев спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...