Avatar billede nightowl24 Nybegynder
17. december 2009 - 14:21 Der er 8 kommentarer

Mysql - sortering på felt med Å som første bogstav fejler

Hej

Jeg har aldrig oplevet dette før, men jeg har fra phpMyadmin et problem hvor jeg skal sortere et udtræk på overskrifter.

Jeg afvikler sql'en "SELECT * FROM tabel ORDER BY overskrift"

Sorteringen kommer ud således:

a, å, b, c ....

Hvad kan der være galt?

Lidt oplysninger:

Tabel - kollation - utf8_general_ci
Tabel - Datatype = MyISAM
Felt - datatype = tinytext

/BB
Avatar billede arne_v Ekspert
17. december 2009 - 14:57 #1
utf8_general_ci er saa vidt jeg ved engelsk saa den kan naeppe sortere danske bogstaver korrekt.

proev med utf8_danish_ci !
Avatar billede nightowl24 Nybegynder
17. december 2009 - 15:47 #2
Kan jeg ændre denne værdi fra phpMyAdmin uden det kan beskadige de data der findes i tabellen?
Avatar billede nightowl24 Nybegynder
17. december 2009 - 16:05 #3
Nå, jeg tog lige en kopi af tabellen og lavede denne om til utf8_danish_ci, men problemet er det samme
Avatar billede arne_v Ekspert
18. december 2009 - 02:08 #4
Er data nu faktisk i UTF-8 ??
Avatar billede arne_v Ekspert
18. december 2009 - 02:08 #5
Eksempel der viser at det bør virke:

--------------
CREATE TABLE t (id INTEGER NOT NULL PRIMARY KEY, txt TINYTEXT) DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI
--------------

--------------
INSERT INTO t VALUES(1, 'A')
--------------

--------------
INSERT INTO t VALUES(2, 'Ã…')
--------------

--------------
INSERT INTO t VALUES(3, 'B')
--------------

--------------
SELECT * FROM t ORDER BY txt
--------------

id    txt
1    A
2    Ã…
3    B
--------------
DROP TABLE t
--------------

--------------
CREATE TABLE t (id INTEGER NOT NULL PRIMARY KEY, txt TINYTEXT) DEFAULT CHARACTER SET UTF8 COLLATE UTF8_DANISH_CI
--------------

--------------
INSERT INTO t VALUES(1, 'A')
--------------

--------------
INSERT INTO t VALUES(2, 'Ã…')
--------------

--------------
INSERT INTO t VALUES(3, 'B')
--------------

--------------
SELECT * FROM t ORDER BY txt
--------------

id    txt
1    A
3    B
2    Ã…
--------------
DROP TABLE t
--------------
Avatar billede nightowl24 Nybegynder
18. december 2009 - 08:32 #6
Du spørger om data er utf-8, kan jeg på en eller anden måde teste dette?
Avatar billede arne_v Ekspert
19. december 2009 - 03:25 #7
prøv med latin1_danish_ci og se om det så virker, hvis det gør så er data faktisk i ISO-8859-1.
Avatar billede nightowl24 Nybegynder
21. december 2009 - 14:46 #8
Så fik jeg også prøvet det - men det ændrer ingenting, å kommer stadig lige efter a. Det der også er underligt er at der ikke er problemer med ø og æ.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester