/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL: Sortering af æøå
Fra : LM


Dato : 24-02-05 15:52

Hejsa,

har lidt problemer med min ORDER BY, da den giver åæø i stedet for æøå. Har
valgt tegnsæt Latin1.

Mvh Lars



 
 
Peter Brodersen (24-02-2005)
Kommentar
Fra : Peter Brodersen


Dato : 24-02-05 16:08

On Thu, 24 Feb 2005 15:52:03 +0100, "LM" <nospam@nospam.no> wrote:

>har lidt problemer med min ORDER BY, da den giver åæø i stedet for æøå. Har
>valgt tegnsæt Latin1.

Hvad version af MySQL bruger du?

For MySQL 4.1 kan du sætte collation for tabellen (eller evt. bare for
enkelte felter). Fx:

CREATE TABLE foo (...) CHARSET=latin1 COLLATE=latin1_danish_ci;

--
- Peter Brodersen

LM (24-02-2005)
Kommentar
Fra : LM


Dato : 24-02-05 16:12


"Peter Brodersen" <usenet2005@ter.dk> wrote in message
news:cvkql2$3vj$1@news.klen.dk...
> On Thu, 24 Feb 2005 15:52:03 +0100, "LM" <nospam@nospam.no> wrote:

> Hvad version af MySQL bruger du?
>
> For MySQL 4.1 kan du sætte collation for tabellen (eller evt. bare for
> enkelte felter). Fx:
>
> CREATE TABLE foo (...) CHARSET=latin1 COLLATE=latin1_danish_ci;


Jeg køre med 4.1.10. Kan jeg ikke sætte det som standard, så det gælder alle
tabeller?

Mvh Lars



Peter Brodersen (24-02-2005)
Kommentar
Fra : Peter Brodersen


Dato : 24-02-05 17:21

On Thu, 24 Feb 2005 16:11:51 +0100, "LM" <nospam@nospam.no> wrote:

>Jeg køre med 4.1.10. Kan jeg ikke sætte det som standard, så det gælder alle
>tabeller?

Du kan i din my.cnf fx sætte:

default-collation = latin1_danish_ci
collation-server = latin1_danish_ci

Når du har sat det, skal du dog nok rebuild'e evt. indexes.


Ellers kan du fx prøve:

CREATE TABLE `languages` (
`danish` tinytext collate latin1_danish_ci,
`swedish` tinytext character set latin1,
`german` tinytext character set latin1 collate latin1_german1_ci,
`spanish` tinytext character set latin1 collate latin1_spanish_ci
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci;

INSERT INTO `languages` VALUES
('c','c','c','c'),('æ','æ','æ','æ'),('b','b','b','b'),('ø','ø','ø','ø'),('a','a','a','a'),('å','å','å','å'),('ö','ö','ö','ö'),('h','h','h','h');

... og derefter prøve følgende:

SELECT * FROM languages ORDER BY danish;
SELECT * FROM languages ORDER BY swedish;
SELECT * FROM languages ORDER BY german;
SELECT * FROM languages ORDER BY spanish;

--
- Peter Brodersen

LM (24-02-2005)
Kommentar
Fra : LM


Dato : 24-02-05 17:08

> Hvad version af MySQL bruger du?
>
> For MySQL 4.1 kan du sætte collation for tabellen (eller evt. bare for
> enkelte felter). Fx:
>
> CREATE TABLE foo (...) CHARSET=latin1 COLLATE=latin1_danish_ci;
>
> --
> - Peter Brodersen

Den kan stadig ikke sortere æøå korrekt. Kan andre få det til at virke? Køre
på Windows XP.

Mvh Lars



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste