Du kan starte med at prøve at bruge denne <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Udover det kan du hvis teksten er skrevet i en tredjeparts-fil, som f.eks. en seperat javascript fil, bruge nogle encodes, dem kan du finde for alle speciale tegn rundt omkring på nettet.
Har prøvet alt ovenstående, og har nu fundet frem til at det udelukkende er data der bliver trukket ud af MySql der bliver vist med mærkeligt tegn i stedet for ÆØÅ.
Jeg har prøvet at ændre database collation og collation på de enkelte kolonner til UFT_8 danish, men tabellen summerer stadig op til latin1_swedish_ci.
Har I noget bud på hvad jeg ellers kan gøre for at løse problemet?
at encode og decode tekst lyder som en dårlig idé - men bør holde sig fra at manipulere med brugerinput inden det kommer i databasen.
Jeg kender ikke så meget til MySQL, men collation styrer fx sortering og ikke tegnsæt - du bør kunne specifikt sætte tegnsæt på databasen (skifter du fra et tegnsæt til et andet vil de "gamle" data næppe blive formatteret efter ændringen).
set names tvinger den enkelte connection til at køre på det bestemte tegnsæt - så at det virker når du har sat den på betyder med stor sandsynlighed at du netop ikke har sørget for at databasen kører på utf-8 tegnsæt.
Når jeg fjerner <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> fra headeren og ændrer charset på alle tabeller i databasen, virker Æ, Ø og Å når der hentes fra mysql databasen.
Ovenstående ændring medfører imidlertid at det tekst der ikke hentes fra mysql, ikke understøtter dansk tegnsætning. Noget bud på hvad jeg kan gøre for at få det til at virke?
Mine filer er gemt som UFT-8Y formatet (bruger jEdit på en mac computer).
Hvis jeg ændrer formatet til ISO 8859-1 virker æ, ø og å imidlertid på min index.php side, men ikke på de sider der inkluderes, selvom jeg også ændrer formatet der.
Tror du det kan være min editor der forårsager problemet?
Det er gemt med uft-8Y (bruger jEdit som editor på en Mac). Hvis jeg ændrer det til ISO-8859-1 virker æ, ø og å imidlertid på index.php men ikke de filer der inkluderes (selvom jeg også har ændret charset til ISO-8859 der)
Det kan også være det er charsettet der forårsager at SELECT DISTINCT i mysql ikke virker?
Når jeg f.eks. har en liste med Aarhus, Aalborg, Aarhus, Aarhus og laver en while løkke vises alle værdier. Skriver jeg derimod DISTINCT i SQL sætningen vises kun Aalborg
Det underlige er at så snart jeg fjerner <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> fra headeren virker Æ, Ø og Å mange steder på siden (dog ikke det der ikke hentes fra mysql)
det var ikke svar nok - det jeg søger er information om hvordan serveren sender dokumentet. Hvis du ikke ved det, eller hvis du vil ændre det, er jeg ret sikker på at du kan styre det gennem htaccess.
du kan sagtens benytte html-entiteter fremfor fx æøå - men det vil i bund og grund bare skjule et dybereliggende problem, der kan give problemer på et senere tidspunkt. Jeg kan desværre ikke påpege hvor det går galt, dog lyder det som om filen ikke er gemt korrekt, så her udefra har jeg ikke rigtig flere bud.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.