Hmm... får det inte att fungera, har följande inställningar på databasen:
--Kopierat från phpmyadmin--
MySQL teckenuppsättning: UTF-8 Unicode (utf8)
Kollation för MySQL-uppkoppling: utf8_swedish_ci
I Dreamweaver har jag följande inställningar på mina php-sidor:
Document type (DTD): XHTML 1.0 Transitional
Encoding: Unicode (UTF-8)
Unicode Normalization Form: c (Canonical Decomposition followed by Canonical Composition)
Ändå så blir det fel tecken när å, ä och ö ska skrivas ut. Finns inget sätt att ändra i phpmyadmin på teckenuppsättningen heller. Någon som vet vad det är som spökar?
När jag plockar bort htmlentities så blir det rätt. Men det känns ju inte som en jättebra lösning heller, vill ju inte skriva ut någon på webbsidan utan att först kört htmlentities...
Om jag skriver ut tex.
row['namn']
så blir det rätt: Åsa
Om jag skriver ut
htmlentities(row['namn'])
så blir det fel: Ã�sa
Vad skulle hända om du bara smackade på utf8_encode() runt din uträkning av startdatum?
Det funkar ju helt perfekt! Tack för den!!
Får fortfarande inte rätt på det när jag plockar ut text från databasen och kör htmlentities på den uthämtade datan. Men allt annat funkar ju faktiskt nu, kanske man kan göra någon egen funktion istället för htmlentities som bara förhindrar html-taggar!?
htmlentities förutsätter väl att strängen är i ISO-8859-1 om inget annat anges. Och dina strängar från databasen är väl UTF-8? Så du borde väl behöva ange det?
Typ:
htmlentities förutsätter väl att strängen är i ISO-8859-1 om inget annat anges. Och dina strängar från databasen är väl UTF-8? Så du borde väl behöva ange det?
Typ:
htmlentities(row['namn'], ENT_COMPAT, "UTF-8")
eller något sådant.
Än en gång tack så mycket! Funkar strålande nu!
Det enda som fortfarande spökar är när jag skriver: '
Till exempel: O'Brian
Jag skickar det via ett formulär och utan att köra någon som helst funktion på fältet (endast hämta med $_POST) så skrivs det ut: O\'Brian
Det verkar precis som att det är någon inställning på webbhotellet, kan det vara så? På skärmen vill jag ju att det ska stå O'Brian såklart...