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
Annonceindlæg fra Infor
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 !
17. december 2009 - 15:47
#2
Kan jeg ændre denne værdi fra phpMyAdmin uden det kan beskadige de data der findes i tabellen?
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
18. december 2009 - 02:08
#4
Er data nu faktisk i UTF-8 ??
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 --------------
18. december 2009 - 08:32
#6
Du spørger om data er utf-8, kan jeg på en eller anden måde teste dette?
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.
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 æ.
Computerworld tilbyder specialiserede kurser i database-management