SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.05.2011 18:08:39

supertroll
Участник
Зарегистрирован: 05.05.2011
Сообщений: 1

Проблема с сортировкой русских значений

Вобщем такая таблица:


CREATE TABLE IF NOT EXISTS `response` (
  `login` text NOT NULL,
  `reg` text NOT NULL,
  `data` text NOT NULL,
  `msg` text NOT NULL
) TYPE=MyISAM;


Вот с такими значениями:

INSERT INTO `response` (`login`, `reg`, `data`, `msg`) VALUES
('troll', 'reg', '05.02.2010 23:02:33', 'вдр'),
('tes', 'reg', '3267345', 'чрнта'),
('gamilkard', 'reg', '21.02.2010 12:02:59', 'супер'),
('sdf', 'reg', '2356542', 'брпапрпа'),
('twd', 'reg', '23456543', 'явапаим'),
('sgfdf', 'reg', '242343', 'аорпа явивап'),
('dgvsv', 'reg', '2334', 'менр оваи');


как правильно написать чтоб поле msg сортировалось по алфавиту.
ORDER BY `msg` неподходит т.е. там что то с кодировками (я чуть голову неразбил об монитор пока про кодировки в инете читал).   Может ктонибуть подскажет как сделать запрос или объяснит (по простому) как и где поменять кодировки.

Неактивен

 

#2 05.05.2011 22:01:00

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Проблема с сортировкой русских значений

Для того, чтобы поле msg сортировалось по алфавиту нужно сделать именно ORDER BY `msg`. Что касается проблем с кодировками... У Вашей таблицы response кодировка не указана, значит данные хранятся в той, которая по умолчанию. Попробуйте явно указать тип кодировки, допустим utf8.

CREATE TABLE IF NOT EXISTS `response` (
  `login` text NOT NULL,
  `reg` text NOT NULL,
  `data` text NOT NULL,
  `msg` text NOT NULL
) TYPE=MyISAM DEFAULT CHARSET=utf8;


И после того, как подключаетесь попросите mysql отдавать Вам данные в нужной кодировке запросом
set names 'utf8'
.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson