Glöm inte att ange teckenkodning för din sajt
Publicerad 2006-10-03 av: Nikke Lindqvist i WebbutvecklingPå sistone har jag stött på alltfler sajter som i FireFox ser ut som om de har publicerat allt sitt innehåll på rövarspråk eller åtminstone någon typ av kod. Många av tecknen på sidan ersätts av tecken som à och ¶ eller i andra fall texter där alla “svenska tecken” har ersatts med frågetecken. Det ser rätt festligt ut ibland med ord som pÃ¥gÃ¥r frÃ¥n eller som i recensionsklippet nedan från Värmlandsoperan, “S� h�r borde v�l alla g�ra opera!”
Så här kan det se ut:

Det ser ut som om de har publicerat innehållet på sajten i någon form av kod. Och det har de ju faktiskt också gjort. Alla sajter gör det. Även den här. Missen som Värmlandsoperan har gjort är att glömma att tala om vilken kod de har använt.
Den här sajten använder teckenkodningen ISO-8859-1, vilket är en standardkodning för den västeuropeiska teckenuppsättning som inrymmer tecken som å ä ö ü í och ì. Tyvärr är teckenuppsättningen väldigt begränsad. Det går inte att hur som helst använda bokstäver som är vanliga i t.ex. de tjeckiska eller ungerska alfabetena. Dessa hör istället hemma i teckenuppsättningen ISO 8869-2.
Den här sajten är främst publicerad på svenska och engelska, och jag valde därför från början att använda den västeuropeiska teckenkodningen 8859-1 till den. Detta berättar jag för alla besökande browsers väldigt högt upp i html-koden på sidan med hjälp av följande lilla kodsnutt:
Det har de tyvärr glömt bort att göra på Värmlandsoperans sajt.
För många besökare gör denna underlåtenhetssynd ingenting alls. De har nämligen gjort ett förval i sina webbläsare att den ska försöka med 8859-1 om sajten inte berättar hur den är kodad.
Så varför i all världens dar klagar jag då? underar den läsare som har orkat läsa så här långt i den här texten med sin höga nördvarning. Varför anger du inte bara att 8859-1 ska vara den förvalda teckenuppsättningen i din webbläsare?
Jo. Så här ligger det till. Dels gillar jag att sidor laddas hyfsat fort. Jag vill därför inte att min webbläsare först ska tvingas tjuvtitta på sidan och sedan försöka göra en intelligent gissning av vilken typ av innehåll sidan har. Jag besöker dessutom betydligt fler sidor som är kodade med den nästintill fullständiga teckenuppsättning som går under namnet Unicod (eller UTF) och har därför medvetet valt att låta förinställningen i FireFox vara kvar. Japp. För detta är det förvalda värdet som moderna webbläsare levereras med.
Unicode som presenteras som UTF-7 eller UTF-8 är en teckenuppsättning som gör det möjligt för en webbläsare att automagiskt leverera texten med rätt utseende, oavsett språk. Detta förstås förutsatt att datorn den är installerad på även har lämpliga fonter installerade som kan visa mystiska ryska, koreanska, ungerska eller thailändska tecken.
Men inte nog med det! Alla moderna webbverktyg som t.ex. bloggar, forum och gästböcker använder Unicode. Det vore ju direkt galet om dessa utvecklades för någon annan typ av teckenuppsättning, eftersom de då inte skulle kunna användas över hela världen. Det gör att en ryss, en svensk, en korean och en amerikan kan utnyttja samma databaslösning utan att först behöva krångla med att byta teckenuppsättning på datorn. Genialt helt enkelt. Men bara om man kommer ihåg att ange vilken typ av teckenkod som används på sajten. Annars blir det för galet…





Inlägg (RSS)
Men måste man verkligen koda rätt? Ser sökmotorerna orden som de ska, eller blir det konstiga tecken även där?
Komplicerat det där. Har dessutom hört att man kan spara filerna på olika sätt (ASCII etc) och därigenom kringgå vad man specificerat på sidan. Några funderingar kring detta?
Jo, uppladdningen via ftp kan ske som ascii eller binärt, och detta kan även stöka till det en hel massa.
Så sent som igår skulle jag ladda upp språkfiler för ett svenskt forum. Dessa språkfiler var kodade som UTF-8 och hur jag än gjorde så kom de fram som en ascii-tolkning av UTF-tecken.
Men egentligen är det inte särskilt svårt. Alla borde använda UTF-8. Alltid i alla sammanhang. Det funkar nämligen bäst med alla språkversioner och för alla tecken, även de som vi inte känner till ännu.
Till Olle ovan (och det är ett oerhört sent svar, vilket jag ber om ursäkt för).
Ibland blir det rätt och ibland blir det fel. Framför allt kan du vara helt säker på att det är fel när någon har en webbläsare som är förinställd på ett annat teckenområde. (T.ex. en amerikans, finsk, eller japansk dator.) Så varför chansa? Berätta vilken teckenuppsättning som gäller. Det är bara en rad kod. Och sedan funkar det så fint så.