Gå til innhold

Sortere Å etter Æ og Ø


Anbefalte innlegg

Hallo

 

Jobber med sortering av norske navn hentet fra en Oracle-database til Java, og sliter med at Å blir sortert foran Æ. Dette tror jeg kommer av at ascii-verdien for Å = 197, Æ =198 og Ø = 216

 

Hvordan er den mest vanlige måten å løse dette?

Lenke til kommentar
Videoannonse
Annonse

Du kan sortere basert på en Collator. Er litt usikker på om "nob" er rett, men mener det skal fungere fint.

Collections.sort(listOfNames, Collator.getInstance(new Locale("nob")));

EDIT: rett locale er 

new Locale("no", "nb")

Eksempel:

public static void main(String[] args)
{
    List<String> listOfNames = Arrays.asList("a", "e", "ø", "æ", "k", "å", "a");
    System.out.println(listOfNames);
    Collections.sort(listOfNames, Collator.getInstance(new Locale("no", "nb")));
    System.out.println(listOfNames);
}
[a, e, ø, æ, k, å, a]
[a, a, e, k, æ, ø, å]
Endret av stelar7
Lenke til kommentar

Joda, er bare at databasen sorterer det feil. Den hentet ut alt sortert, bare med å foran æ og ø.

det gjør jo javaprogrammet ditt også?

 

sett opp databasen korrekt, løsningen er ikke å sortere i java. sikkert noen som vet hvordan i sql-gruppa, hvis du ikke finner løsningen selv.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...