Kom ihåg mig?
Home Menu

Menu


MySQL tycker å & ä = a

Ämnesverktyg Visningsalternativ
Oläst 2007-12-19, 22:40 #1
Neos avatar
Neo Neo är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 392
Neo Neo är inte uppkopplad
Flitig postare
Neos avatar
 
Reg.datum: Mar 2003
Inlägg: 392
Har sökt ihjäl mig på Google och i forumet, men hittar inget svar på mitt problem (söker förmodligen efter fel saker).

Jag har en tabell (utf8_general_ci) med fältet "namn" (varchar(255) utf8_general_ci). När jag sorterar på "namn ASC" (säkert DESC för den delen också) tolkar MySQL å&ä som a, och ö som o. Det är samma sak i phpMyAdmin som i min SQL-kod.

Vad kan detta bero på? Jag har aldrig upplevt något liknande förr.
Neo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-12-19, 22:41 #2
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
Måste väl använda utf8_swedish_ci för att den ska sortera som i sverige om jag inte minns helt fel.
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-12-19, 22:47 #3
coredevs avatar
coredev coredev är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2007
Inlägg: 1 554
coredev coredev är inte uppkopplad
Bara ett inlägg till!
coredevs avatar
 
Reg.datum: Sep 2007
Inlägg: 1 554
Hittade lite info på MySQLs hemsida.. Du verkar ha fel på din "Collation" - alltså metodeb som MySQL:en sorterar ditt data med i "order by". Collation-tabellerna är unika per land. Eftersom du använder utf8_general_ci blir detta antagligen fel, du bör istället använda utf8_swedish_ci.

Nått liknande kan fixa ditt problem.

ALTER TABLE Table1 MODIFY
"namn" COLLATE utf8_swedish_ci;
coredev är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-12-19, 22:47 #4
Neos avatar
Neo Neo är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 392
Neo Neo är inte uppkopplad
Flitig postare
Neos avatar
 
Reg.datum: Mar 2003
Inlägg: 392
...jag löste det själv, slängde på BINARY() på "name" så fungerade det! Behövde inte ändra på collation för tabellen.


edit: ...tack ändå
Neo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-12-19, 22:56 #5
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Du ska inte använda binary. Binary innebär att den jämför tecken för tecken, och tolkar inte dubbeltecknen i UTF-8 som dubbeltecken.
om du inte kan/vill göra om tabellen så använd order by xxx collate utf8_swedish_ci i frågan.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-12-19, 23:07 #6
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
BINARY kommer väl även göra att sorteringen av ÅÄÖ blir fel om jag inte minns fel.
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-12-20, 07:40 #7
Neos avatar
Neo Neo är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 392
Neo Neo är inte uppkopplad
Flitig postare
Neos avatar
 
Reg.datum: Mar 2003
Inlägg: 392
Citat:
Originally posted by elprisguiden@Dec 19 2007, 22:56
Du ska inte använda binary. Binary innebär att den jämför tecken för tecken, och tolkar inte dubbeltecknen i UTF-8 som dubbeltecken.
om du inte kan/vill göra om tabellen så använd order by xxx collate utf8_swedish_ci i frågan.

Tack för tipset, kör på det istället.
Neo är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 05:11.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017