Använd accesskey 'n' för att hoppa till de interna navigationslänkarna i dokumentet. Hoppa till början av innehållet.

Detta dokument är en översättning av ett engelskt orginal. Om det finns tveksamheter eller fel i detta dokument, så är senaste version av det engelska orginalet den auktoritativa versionen. Copyright tillhör W3C, enligt nedan.

Översättare: Olle Olsson, SICS/W3CSweden

s_gotoW3cHome Internationalization
 

Att deklarera teckenkodning i CSS

Avsedd läsarkrets: CSS-utvecklare, projektledare för webbprojekt, och alla som vill veta hur man kan deklarera teckenkodning för en CSS-fil.

Obs: Det engelska originaldokumentet har ändrats sedan det översattes. Se ändringsloggen.

Frågor

Hur kan jag deklarera teckenkodning för en formatmall i CSS?

Bakgrundsinformation

Man bör alltid deklarera hur externa CSS-formatmallar har kodats, om den innehåller tecken som inte finns i mängden av ASCII-tecken. Till exempel kan man ha icke-ASCII-tecken i typsnittsnamn, som värde för CSS-egenskapen "content", som selektorvärden, etc.

Svar

För stildeklarationer som bäddas in i ett dokument behövs inte @charset-regler, och sådana får inte användas. Dessa regler ska användas enbart i inlänkade formatmallar.

Att använda @charset

För att ange teckenkodning inne i en formatmall, så ska du använda den s.k. "at-regeln" @charset. Dess syntax är:

@charset "<av IANA definierat namn på teckenuppsättnin>";

Endast en @charset-regel får förekomma i en extern formatmall, och den måste finnas alldeles i början av dokumentet. Det får inte förekomma någon text före den regeln, inte ens kommentartext. (Dock kan ett byteordningsmärke, "byte-order mark", finnas först i filen, om dokumentet som helhet är representerat i någon Unicode-kodning.)

Namnet måste vara ett namn på en teckenuppsättning ("charset") som beskrivs i IANA-registret. IANA-registret ger ofta flera namn för en och samma kodning. I så fall bör du använda det namn som angetts som "preferred". Om du till exempel vill ange att din CSS-fil är kodad i UTF-8, så kan du skriva:

@charset "UTF-8";

Att använda HTTP

Du kan även deklarera kodningen för en fil i Content-Type-elementet i motsvarande HTTP-huvud, om du har möjlighet att påverka vad servern levererar. För mer information om hur man anger kodning i HTTP, se Setting the HTTP charset parameter. Till exempel visar följande rad i HTTP-svaret att filen är kodad i UTF-8.

Content-Type: text/css; charset=UTF-8

Vi rekommenderar att om du använder en HTTP-deklaration, så bör du även ha en deklaration i formatmallen. Detta säkerställer att kodningen är känd, även om formatmallen används lokalt, eller flyttas, t.ex. vid testning och redigering.

Om det finns en deklaration i HTTP-huvudet, så är det den som gäller, inte deklarationen i dokumentet självt.

Nyttig information

Specifikationen för HTML 4.01 beskriver ett charset-attribut som kan anges i link-element och som var tänkt att indikera kodningen av det dokument som länken går till. Detta sätt att använda attributet på ett link-element beskrivs inte av specifikationen för HTML5, så man bör inte använda attributet på detta sätt. I själva verket är charset-attributet i alla fall inte stött av all webbläsare, vilket ger ytterligare ett skäl att inte använda det.

Tala om för oss vad du tycker (på engelska).

Prenumerera på en RSS-kanal.

Nya resurser

Nyheter på hemsidan

Twitter (Nyheter på hemsidan)

‎@webi18n

Mer att läsa

Av: Russ Rolfe, Microsoft Corporation. Ändrad av: Richard Ishida, W3C. Översättare: Olle Olsson, SICS/W3CSweden.

Valid XHTML 1.0!
Valid CSS!
Kodad i UTF-8!

Översatt från engelskt innehåll skapat/ändrat 2010-08-07. Översättningen senast ändrad 2011-05-31 12:33 GMT

Information om ändringar i orginaldokumentet kan fås genom att söka efter qa-css-charset i i18n-bloggen.