webForumDet fria alternativet

Problem med åäö vid olika språkinställningar

Webbutveckling

5 svar · 528 visningar · startad av rekmas

Medlem sedan mars 20103 inlägg
Frågan#1

Finns det något sätt att alltid konvertera åäö så att dessa alltis skrivs in som åäö i en mysql-db när de kommer från formulär på en hemsida? Verkar inte alltid funka riktigt rätt med utf8_encode/decode i PHP.

Medlem sedan feb. 20034 441 inlägg
#2

Vad har du för COLLATE på din tabell? Om du går till tabellen i fråga med t.ex. PHPMyAdmin och väljer "Operations", vad står i det rullistan längst ner?

Jag har för vana att alltid köra utf-8 rakt igenom och jag har aldrig problem med tecken.

Medlem sedan mars 20103 inlägg
#3

Det är latin1_swedish_ci, men det är inget jag kan ändra på tyvärr. Men OM jag kunde ändra det, säg till utf8_swedish_ci eller utf8_unicode_ci, skulle det då ge mig åäö även om inmatningsspråket för den som skriver in åäö i formuläret på hemsidan är te.x. japanska?

Medlem sedan feb. 20034 441 inlägg
#4

Om du ska köra flera språk (och framförallt språk med andra bokstäver) så ska du inte köra latin1_swedish_ci överhuvudtaget.

Då bör du göra om och göra rätt - och byta till utf-8.
Tänk på att du även måste ändra din meta-tagg så att webbläsaren parsar sidan som utf-8.

Sen ska du inte köra utf8_bin, utan utf8_unicode_ci. "ci" på slutet står för "case-insensitive", kör du binärt (utf8_bin) kommer a och A att tolkas som samt sorteras som två helt olika tecken.

Medlem sedan mars 20103 inlägg
#5

Tackar :)

Jag gissar på att du menar denna meta-tagg : <meta http-equiv="content-type" content="text/html; charset=utf-8" />
Eller behövs någon annan meta-tagg?

Medlem sedan feb. 20034 441 inlägg
#6

Japp, det är den jag syftar på.
Kom ihåg att även spara dina filer som utf-8 och inte ANSI.

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)