/ 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
Sortering giver å før æ og ø
Fra : Niels Andersen


Dato : 10-09-01 09:35

Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke er
helt rigtigt.

Dette sker både når jeg bruger ORDER BY i MySQL, når jeg bruger asort() i
PHP (og altså sorterer EFTER jeg hiver ud af databasen), SAMT hvis jeg
bruger programmet "sort" fra shell.

Jeg er (næsten) ligeglad med om problemer bliver løst i Linux,
MYSQL-databasen eller PHP. Men jeg vil da helst løse problemet der, hvor det
opstår.

Er der nogen der har noget klogt at sige?

Jeg har sendt både i d.e.database, d.e.i.w.s.php og d.e.s.unix.
Jeg er nødt til at sætte FUT er eller andet sted hen, og det er så
unix-gruppen. Men hvis du har en løsning i MySQL eller PHP, så ændr selv
lige gruppen til det rigtige.

--
Mvh.

Niels Andersen





 
 
Peter Makholm (10-09-2001)
Kommentar
Fra : Peter Makholm


Dato : 10-09-01 09:44

"Niels Andersen" <niels-usenet@myplace.dk> writes:

> Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke er
> helt rigtigt.

Tilsyneladende sorterer du på tegnenes latin1-kode hvor å kommer før æ
og ø. Hvordan er dit locale sat? (Både for klienten og serveren)

Det er formodentligt LC_COLLATE, der er sat til C istedet for
da_DK. Prøv at se hvad uddata fra komandoen locale giver (i en shell).

--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Niels Andersen (10-09-2001)
Kommentar
Fra : Niels Andersen


Dato : 10-09-01 16:50

"Peter Makholm" <peter@makholm.net> wrote in message
news:87ofojsaem.fsf@xyzzy.adsl.dk...
> > Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke
er
> > helt rigtigt.
>
> Tilsyneladende sorterer du på tegnenes latin1-kode hvor å kommer før æ
> og ø. Hvordan er dit locale sat? (Både for klienten og serveren)

Du har ret. "LANG=C", og så en 10-stykker mere der er "C".

Hvordan retter jeg det?
Jeg kan godt gætte mig til hvordan jeg retter det for mig egen bruger, men
hvad hvad mysqld og apache?

--
Mvh.

Niels Andersen



Peter Dalgaard BSA (10-09-2001)
Kommentar
Fra : Peter Dalgaard BSA


Dato : 10-09-01 17:14

"Niels Andersen" <niels-usenet@myplace.dk> writes:

> "Peter Makholm" <peter@makholm.net> wrote in message
> news:87ofojsaem.fsf@xyzzy.adsl.dk...
> > > Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke
> er
> > > helt rigtigt.
> >
> > Tilsyneladende sorterer du på tegnenes latin1-kode hvor å kommer før æ
> > og ø. Hvordan er dit locale sat? (Både for klienten og serveren)
>
> Du har ret. "LANG=C", og så en 10-stykker mere der er "C".
>
> Hvordan retter jeg det?

Cirka:

export LC_COLLATE=da_DK

Pas på at LC_ALL ikke er sat for den "vinder" over alle de andre....
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Jacob Sparre Anderse~ (10-09-2001)
Kommentar
Fra : Jacob Sparre Anderse~


Dato : 10-09-01 17:34

Niels:

> Jeg kan godt gætte mig til hvordan jeg retter det for mig egen bruger, men
> hvad hvad mysqld og apache?

Hvis du har kataloget "/etc/profile.d/" på dit system vil
det højst sandsynligt være tilstrækkeligt at oprette filerne
"/etc/profile.d/dansk.sh" og "/etc/profile.d/dansk.csh" med
henholdsvis "export..." og "setenv..." i.

Jacob
--
"if a person can't communicate,
the very least he can do is to shut up!"

Dennis (10-09-2001)
Kommentar
Fra : Dennis


Dato : 10-09-01 09:46

> Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke er
> helt rigtigt.
> Dette sker både når jeg bruger ORDER BY i MySQL, når jeg bruger asort() i
> PHP (og altså sorterer EFTER jeg hiver ud af databasen), SAMT hvis jeg
> bruger programmet "sort" fra shell.

Jeg tror bestemt det er din MySQL du skal have opsat til at køre med dansk
tegnsæt istedet for.. øhh.. er det ikke ISO-ét-eller-andet. Har været udsat
for noget af det samme, hvor jeg søgte på "süd" og fandt poster med "syd" -
weird Jeg har dog endnu ikke fået ændret min MySQL men jeg har fået af
vide, at det burde være tegnsættet der skal ændres(?).

Mvh.
Dennis



Kim Schulz (10-09-2001)
Kommentar
Fra : Kim Schulz


Dato : 10-09-01 09:45

Niels Andersen wrote:
>
> Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke er
> helt rigtigt.
>
> Dette sker både når jeg bruger ORDER BY i MySQL, når jeg bruger asort() i
> PHP (og altså sorterer EFTER jeg hiver ud af databasen), SAMT hvis jeg
> bruger programmet "sort" fra shell.
>
> Jeg er (næsten) ligeglad med om problemer bliver løst i Linux,
> MYSQL-databasen eller PHP. Men jeg vil da helst løse problemet der, hvor det
> opstår.
>
> Er der nogen der har noget klogt at sige?
>
> Jeg har sendt både i d.e.database, d.e.i.w.s.php og d.e.s.unix.
> Jeg er nødt til at sætte FUT er eller andet sted hen, og det er så
> unix-gruppen. Men hvis du har en løsning i MySQL eller PHP, så ændr selv
> lige gruppen til det rigtige.


hvis jeg ikke husker min ascii tabel helt forkert så ligger Å også før Ø
og Æ så hvis den sorterer efter et "ikke dansk" ascii tegnsæt, så er
fejlen nok det.

MVH
Kim

--
http://www.schulz.dk - En nørds bekendelser!
Nørdesnak, attitude og alverdens usexede nyheder for nørder

Per Abrahamsen (10-09-2001)
Kommentar
Fra : Per Abrahamsen


Dato : 10-09-01 12:49

Kim Schulz <kim@schulz.dk> writes:

> hvis jeg ikke husker min ascii tabel helt forkert så ligger Å også før Ø
> og Æ så hvis den sorterer efter et "ikke dansk" ascii tegnsæt, så er
> fejlen nok det.

ÆØÅ er slet ikke med i ASCII. Du mener sikkert Latin-1.

Kim Schulz (10-09-2001)
Kommentar
Fra : Kim Schulz


Dato : 10-09-01 12:53

Per Abrahamsen wrote:
>
> Kim Schulz <kim@schulz.dk> writes:
>
> > hvis jeg ikke husker min ascii tabel helt forkert så ligger Å også før Ø
> > og Æ så hvis den sorterer efter et "ikke dansk" ascii tegnsæt, så er
> > fejlen nok det.
>
> ÆØÅ er slet ikke med i ASCII. Du mener sikkert Latin-1.

Sorry! ja selvfølgelig.

MVH
Kim
--
http://www.schulz.dk - En nørds bekendelser!
Nørdesnak, attitude og alverdens usexede nyheder for nørder

stonor (10-09-2001)
Kommentar
Fra : stonor


Dato : 10-09-01 14:48

On Mon, 10 Sep 2001 10:34:51 +0200, "Niels Andersen"
<niels-usenet@myplace.dk> wrote:

>Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke er
>helt rigtigt.

Du kan i hvert fald fixe problemet i Mysql ved at ændre "charset" til
"danish" i mysql-opsætningen

http://www.mysql.com/documentation/mysql/bychapter/manual_Installing.html#configure_options

Den sorterer æøå korrekt, men håndterer desværre ikke dobbelt-a som å.
(En god ven har dog klaret den sag, men hans Mysql-udvidelse er endnu
ikke bugtestet intensivt).


Anton Stonor
giraffen.dk


Niels Andersen (10-09-2001)
Kommentar
Fra : Niels Andersen


Dato : 10-09-01 16:47

"stonor" <stonor@yahoo.com> wrote in message
news:l9gppto1iejp0dh0biqimhd1ek7d8vrakp@4ax.com...
> >Når jeg prøver at sortere slutter alfabetet med "ÅÆØ", hvilket jo ikke er
> >helt rigtigt.
>
> Du kan i hvert fald fixe problemet i Mysql ved at ændre "charset" til
> "danish" i mysql-opsætningen
>
>
http://www.mysql.com/documentation/mysql/bychapter/manual_Installing.html#co
nfigure_options

Tak for tippet. Jeg tror næsten det er noget der skal ordnes i systemet, så
det prøver jeg lige først.

> Den sorterer æøå korrekt, men håndterer desværre ikke dobbelt-a som å.
> (En god ven har dog klaret den sag, men hans Mysql-udvidelse er endnu
> ikke bugtestet intensivt).

Kan den se forskel på dobbelt-a (med betydningen "å") og to a'er i træk?
Min Windows-maskine kan vist ikke se forskel på "aa" og "aa", så gæt hvordan
disse tre filnavne bliver sorteret:
aagjif.bin
abgjif.bin
acgjif.bin
Gør ikke så meget med 2-3 filer, men med længere rækker er det RET
irriterende, at en fil i ny og næ bliver indsat forkert. Har ikke fundet ud
af at slå det fra.

--
Mvh.

Niels Andersen



stonor (10-09-2001)
Kommentar
Fra : stonor


Dato : 10-09-01 18:10

>> Den sorterer æøå korrekt, men håndterer desværre ikke dobbelt-a som å.
>> (En god ven har dog klaret den sag, men hans Mysql-udvidelse er endnu
>> ikke bugtestet intensivt).
>
>Kan den se forskel på dobbelt-a (med betydningen "å") og to a'er i træk?

Nej, desværre, så der kan selvfølgelig være de bevirkninger ved
sorteringen, du nævner. Jeg kan ikke lige komme på nogen smart metode
til at skelne automatisk. En ordbog er selvfølgelig en mulighed, men
vil være tung at danse med og sikkert æde performance.

Anton

--
http://giraffen.dk/sjov - nye kirkejokes hver uge

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste