Gå til innhold

Sortere Å etter Æ og Ø


Anbefalte innlegg

Skrevet

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?

Videoannonse
Annonse
Skrevet (endret)

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
Skrevet

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.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...