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 versionen http://www.w3.org/ International/O-charset.en.html. Översättningen kan innehålla fel och brister, och det engelska orginalet är den auktoritativa versionen. Copyright tillhör W3C, enligt nedan.
Avsedd läsarkrets: alla som vill ha en snabb sammanfattning av kritiska aspekter på teckenkodning i HTML och XML. Om du vill veta mer, följ då länkarna i texten eller titta på avsnittet Mer att läsa.
Teckenuppsättningen för dokument i XML och HTML 4.0 är Unicode (även kallad ISO 10646). Detta innebär att HTML-läsare och XML-processorer borde bete sig som om de använder Unicode internt. Men detta betyder inte att dokument måste transporteras i Unicode-kodning. Så länge som klient och server är överens om kodningen så kan de använda vilken kodning som helst som kan översättas till Unicode. Läs mer om dokuments teckenuppsättning.
Det är mycket viktigt att teckenkodningen för ett XML- eller (X)HTML-dokument tydligt anges, så att webbklienter lätt kan översätta dessa till Unicode. Detta kan göras på följande sätt:
Sätt 'charset'-parametern i HTTP:s Content-Type header. Till exempel:
Content-Type: text/html; charset=utf-8
För att kunna göra detta måste du ha möjlighet att sätta vissa egenskaper hos webbservern, eller leverera dokumentet med hjälp av scripts (se Att sätta HTTP:s charset-parameter för mer information om detta).
För XML (och XHTML) bör man använda pseudoattributet 'encoding' i XML-deklarationen i början av dokumentet eller text-deklarationen i början av en entitet. Exempel:
<?xml version="1.0" encoding="utf-8" ?>
Det finns viktiga saker att tänka på när du levererar XHTML 1.0 som HTML.
För HTML, eller XHTML som levereras som HTML, bör du alltid använda
<meta>
-taggen i
<head>
.
Till exempel:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
För XHTML måste du ange ett snedstreck vid slutet:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
En diskussion om vilken metod som är bäst för vilken typ av (X)HTML-dokument finns i läromedlet Character sets & encodings in XHTML, HTML and CSS.
Exemplen ovan visar deklarationer för
UTF-8
-kodat innehåll.
Det är troligen det bästa kodningsvalet i de flesta sammanhang, men det är
inte det enda alternativet.
Om du inte använder UTF-8, så ska du ersätta texten utf-8
i
exemplet ovan med namnet för den kodning som du har valt. Du kan titta i
den fulla listan över
namn på teckenkodningar registrerade av IANA (lång).
I praktiken föredras en liten uppsättning kodningar, såsom:
ISO-8859-1
(Latin-1),
US-ASCII
,
UTF-16
,
andra kodningar i ISO-8859-serien,
iso-2022-jp
,
euc-kr
, och så vidare.
Det är viktigt att inte bara använda kodningsdeklarationerna ovan i HTTP eller innehåll, utan även att:
Spara dina data i rätt kodning i det verktyg du använder för att konstruera innehåll.
Försäkra dig om att det inte finns en motsättning mellan vad du deklarerar i dokumentet och hur webbservern automatiskt hanterar det, eftersom vad webbservern säger om dokumentet har större vikt än vad som sägs i dokumentet.
Mer information om dessa frågor kan hittas via länkar i Changing (X)HTML page encoding to UTF-8. Fastän det är skrivet från ett UTF-8-perspektiv, så är det tillämpligt på alla typer av kodningar.
Värden som kodningsattributet kan ha återfinns i IANA-registret. Tänk på att dessa kallas charset-namn, fastän de i praktiken refererar till kodningar, inte till teckenuppsättningar ("character sets").
Vill du ha mer omfattande information om dessa frågor, titta då i en artikel av Dan Connolly ("Character Set" Considered Harmful) och en reaktion på detta av Glenn Adams (Character Set Terminology, SC2 vs. SC18 vs. Internet Standards).
Historisk anmärkning: Rick Jellife föreslog användning av SPREAD entities från ERCS.
Användbara översikter:
Introducing Character Sets and Encodings http://www.w3.org/International/getting-started/characters
Tutorial: Character sets & encodings in XHTML, HTML and CSS http://www.w3.org/International/tutorials/tutorial-char-enc/
FAQ: Document character set http://www.w3.org/International/questions/qa-doc-charset
Referenser i specifikationer:
charset-parametern http://www.w3.org/Protocols/rfc2068/rfc2068.txt
pseudoattributet 'encoding' http://www.w3.org/TR/REC-xml#charencoding
xml-deklarationen http://www.w3.org/TR/REC-xml#sec-prolog-dtd
text-deklarationen http://www.w3.org/TR/REC-xml#sec-TextDecl
UTF-8 http://www.ietf.org/rfc/rfc3629.txt
<meta> http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2
Andra länkar:
Using character entities and NCRs http://www.w3.org/International/questions/qa-escapes
Checking HTTP Headers http://www.w3.org/International/questions//qa-headers-charset
Setting 'charset' information in .htaccess http://www.w3.org/International/questions/qa-htaccess-charset
Intressanta testsidor: The 10th Unicode Conference http://www.unicode.org/iuc/iuc10/languages.html
Tecken och kodningar i ämnesindex http://www.w3.org/International/resource-index#charset
Tecken och kodningar i index över tekniker http://www.w3.org/International/technique-index#charset
Det engelska innehållet först publicerat 31 maj 1996. Substansiell uppdatering 2006-07-20 09:00 GMT. Denna version 2006-07-20 18:08 GMT
Först översatt till svenska 30 juli 2004. Översättningen senast modifierad 2006-08-16 11:13 GMT.
Information om ändringar i orginaldokumentet kan fås genom att söka efter article-o-charset i i18n-bloggen.
Copyright © 2004 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements.