![]() |
SQL - Problem med sortering av ÅÄÖ
Hej!
Jag är troligen den 5000: onde som som lägger upp en forumtråd om detta. Ber om ursäkt för detta, men jag finner verkligen ingen lösning. När jag lägger in å ä ö i databasen blir det Ã¥ ö ä och sorteringen blir fel. Vad behöver jag göra för att få åäö från formulären att bli åäö i databasen? Går att enkelt sortera Ã¥ ö ä efter z med hjälp av COLLATE xxx? Tusen tack! |
Det är ett encoding problem.
Om din databas är inställd på att köra med character-set UTF8 tex så måste du se till att formuläret också skickar in data i UTF8 genom att i headern för html filen ange <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
Är det inte lättare att sätta rätt teckentabell på databasen så du slipper "skräptecknen"?
|
Det är rätt tecken, utf8, i din tabell, men du måste hämta dem som utf8 från databasen och visa dem som utf8 på din websida.
|
Du behöver inte nödvändigtvis köra utf8, däremot måste du ha samma teckenkodning på alla ställen om du inte ska riskera att det blir fel någonstans. Utf8 är dock att rekommendera vilket samtliga svar antytt men ingen skrivit rakt ut.
|
När du fått det rätt måste du även rätt charset annars kommer mySQL aldrig förstå att det är svenska och kommer sortera ÅÄ efter A och Ö efter O.
Läs på lite här: http://dev.mysql.com/doc/refman/4.1/en/charset.html http://dev.mysql.com/doc/refman/4.1/...et-server.html http://dev.mysql.com/doc/refman/4.1/...-database.html |
När du fått det rätt måste du även rätt charset annars kommer mySQL aldrig förstå att det är svenska och kommer sortera ÅÄ efter A och Ö efter O.
Läs på lite här: http://dev.mysql.com/doc/refman/4.1/en/charset.html http://dev.mysql.com/doc/refman/4.1/...et-server.html http://dev.mysql.com/doc/refman/4.1/...-database.html |
|
collate styr sorteringen. Rätt collate för svenska språket på utf8 är:
utf8_swedish_ci där ci står för case insesitive, alltså att den inte skiljer på små och stora bokstäver. Om du kör din egen databas och har allt rätt inställt borde den sorteringen infinna sig automatiskt när du väljer character set utf8 |
Tusen tack för hjälpen!!!
Genom att behålla latin_1 i databasen och sätta ISO-8859-1 på HTML sidorna fick jag det att fungera. |
Alla tider är GMT +2. Klockan är nu 12:05. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson