| FAQ |
| Kalender |
|
|
#1 | |||
|
||||
|
Flitig postare
|
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. |
|||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Mycket flitig postare
|
Måste väl använda utf8_swedish_ci för att den ska sortera som i sverige om jag inte minns helt fel.
|
||
|
|
Svara med citat
|
|
|
#3 | |||
|
||||
|
Bara ett inlägg till!
|
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; |
|||
|
|
Svara med citat
|
|
|
#4 | |||
|
||||
|
Flitig postare
|
...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å
|
|||
|
|
Svara med citat
|
|
|
#5 | ||
|
|||
|
Klarade millennium-buggen
|
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. |
||
|
|
Svara med citat
|
|
|
#6 | ||
|
|||
|
Mycket flitig postare
|
BINARY kommer väl även göra att sorteringen av ÅÄÖ blir fel om jag inte minns fel.
|
||
|
|
Svara med citat
|
|
|
#7 | |||
|
||||
|
Flitig postare
|
Citat:
Tack för tipset, kör på det istället. |
|||
|
|
Svara med citat
|
| Svara |
|
|